2017-01-28 8 views
1

私が書いているサイトのクッキーの記憶域をテストしようとしています。その存在を確認するためにクッキーを読もうとすると、コンソールは何も返さない。JavascriptクッキースクリプトOperaブラウザ

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 = ""; 
document.cookie = name+"="+value+expires+"; path=/"; 
} 

function readCookie(name) { 
    var nameEQ = name + "="; 
    var ca = document.cookie.split(';'); 
    for(var i=0;i < ca.length;i++) { 
     var c = ca[i]; 
     while (c.charAt(0)==' ') c = c.substring(1,c.length); 
     if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); 
    } 
    return null; 
} 

function eraseCookie(name) { 
    createCookie(name,"",-1); 
} 

createCookie("name","value",7); 

if (readCookie("name")){ 
    console.log("it works"); 
}; 

答えて

1

あなたのコードがfile://代わりのhttp://プロトコルから提供されている場合に発生する可能性があります。 ドメインとhttp通信がない場合、Opera(およびChrome)はCookieを保存しません。上記を知る

は、あなたのオプションは次のとおりです。

  1. 使用IE(不潔)またはFirefox
  2. あなたは--enable-file-cookiesフラグ付きでオペラを実行してみることができます(これは私のためにChromeで動作しますが、オペラわかりません)
  3. httpサーバー経由でファイルを配信します。

    /project_folder/があなたのhtmlファイル(複数可)を含んで

    $ CD/project_folder/

    $ pythonの-m SimpleHTTPServer 8000

:あなたはMACにしている場合、それは同じくらい簡単です。 その後、アクセスするために、任意のブラウザを使用することができますhttp://localhost:8000/your_html_file.html

出典:https://bugs.chromium.org/p/chromium/issues/detail?id=535

関連する問題