2

今学期、Web デザインのクラスでプロジェクトがあり (私は初心者です)、空き時間にちょっとした副業に取り組んでいます。Cookie と JavaScript を操作しようとしています。私のクラスでは Cookie についてあまり取り上げませんでした。私は現在の問題に対する答えを探し続けていました。このサイトで JavaScript や HTML に関する何かに返信したことがあれば、私はそれを読んでいる可能性があります。タイトルが示すように、Cookie が保存されていないように見える問題が発生しています。最初の読み込みでは、コードは正常に動作し、次にページをリロードすると、Cookie の値が思い出されません。これは私のクッキースクリプトです:

var name;  
if(document.cookie)  
{  
var q1=unescape(document.cookie);  
var q2=q1.search("name");  
if(q2!=(-1))  
    {  
        var n=str.split("name=");  
        var n1=n[1];  
        var n2=n1.split(";");  
        var q=n2[0];  
        name=q;  
    }  
    else  
    {  
        name=window.prompt("Please enter your name.");  
        document.cookie="name="+escape(name);  
    }  
 }     
else  
{  

name=window.prompt("Please enter your name.");  
    document.cookie="name="+escape(name);  
} 

これは、ページの残りの部分が読み込まれると使用されます。

document.writeln(name+"text stuff");

Cookie の値が正しくない場合に備えて、HTML のボタンを介して呼び出される次の関数を作成しました。

function wrongPerson()  
{  
    document.cookie="name=hooper; expires=Thu, 01 Jan 1970 00:00:01 GMT";  
    location.reload();  
}  

長い投稿で申し訳ありませんが、コミュニティにできるだけ多くの情報を提供したかったのです。また、フォーマットが下手で申し訳ありません。長いコード全体を持ち込んでシステムに許可させる方法がわかりませんでした。

4

1 に答える 1

1

Cookie スクリプトで有効期限を設定する必要があります。Cookie に有効期限を設定しない場合、「ワンタイム Cookie」として認識されます。そして、リロードか何かの後、それは消えます。

有効期限を 2014 年 1 月 1 日水曜日 00:00:01 GMT に設定します

これは私の個人的な意見ですが、window.location.href = window.location.href;代わりに使用しますlocation.reload();

于 2012-12-07T13:38:48.360 に答える