0

私はsimpleCart.jsを使ってウェブサイトにカートをセットアップしています。問題は、IE7/IE8でクッキーが作成されないことです。したがって、ページが更新されるたびにカート内のアイテムが失われます。IE7/IE8でjavascriptでクッキーを作成できません

私はコードを見てきたとsimpleCartがcookie functions from quirksmode

を使用していますけれども、私はそれは失敗するだろう理由を見つけることができる唯一の情報はここにあるとして、それが表示されます。クッキーはどのように行うにhttp://www.dynamicdrive.com/forums/showthread.php?t=27197何かIEが好きではないと設定します。

私はこのように見てquirksmode機能を変更:

function createCookie(name,value,days) { 
    if (days) { 
     var date = new Date(); 
     date.setTime(date.getTime()+(days*24*60*60*1000)); 
     var expires = "; expires="+date.toGMTString(); 
    } 
    else var expires = ""; 
    value = value.replace(/\=/g, '~'); 
    console.log(name + "=" + value + expires + "; path=/"); 
    document.cookie = name + "=" + escape(value) + expires + "; path=/"; 
    console.log(name + "=" + escape(value) + expires + "; path=/"); 
} 

そして、ここでは出力されます:

sc_simpleCart_1=id~c2||name~British%20Curry%20Powder||price~3.5||quantity~4; expires=Thu, 18 Aug 2011 15:58:16 GMT; path=/ 
sc_simpleCart_1=id%7Ec2%7C%7Cname%7EBritish%2520Curry%2520Powder%7C%7Cprice%7E3.5%7C%7Cquantity%7E4; expires=Thu, 18 Aug 2011 15:58:16 GMT; path=/ 

私は多分スペース文字とは何かだったと思ったが、Iそれをハイフンに置き換えても差はありませんでした。

実際にサイトのライブバージョンがあります:http://www.bitspicy.com/bit-spicy-shop.phpカートに商品を追加し、IE8でページを更新して問題を確認してください。

多くのありがとう、 リッチ。

答えて

1

OK、わかりました。

基本的に、simpleCart.jsはcookieデータのescape()関数とunescape()関数を使用していたので、quirksmode関数のわずかに変更されたバージョンを使用しています。

私は単にそれらをオリジナルと交換して動作させています!

関連する問題