JavaScriptはクライアント上で実行中のスクリプトであるため、一般セッションはサーバー側で実行されているため、セッションを設定することができません。 あなたはクッキーを設定するJSを使用できるようにクッキーは、クライアント上で実行されています。 ここで、可変の可変A JSの一時ページ格納された値を用い、ページB、JSを使用する同じ必要性と、プロセス、ページAのページジャンプBと特定のケースでは、ケースを考えます静的変数のライフサイクルにおけるグローバル変数やJSの基準値にtemp変数は、ページオフページまたはジャンプは、これらの変数の値は、結果の保存に到達しなかったこと、再ロードされます場合に発生する、限定されています。この問題を解決する最善の方法はどのようにセットし、その後、変数の値を格納するためにクッキーを使用してクッキーを行う読むことですか? あなたは少しクッキーの構造を知るための最初の必要性は、単に言った:クッキーは、キーと値のペア、すなわち、キーの形で保存されている = valueの形式。各クッキーの間で一般的である「;」分離すること。 Cookieを設定JS: ページは、変数名(の値に保存されているものとする「ジャック」)クッキー、キー値の名前、対応するコードJS: document.cookie = " 名前= " + ユーザ名。 JSは、クッキーをお読みください。 クッキーに保存されていると仮定内容:名前 =ジャック;パスワード= 123
VARクッキー= document.cookie;
console.log(クッキー);
これら二つは、彼はすべての情報、アカウントとパスワードを持っていることです!(メインページ書き込み)
--------------------------------------------- ---------------------------------------------- ユーザー名変数は、ページB JSコード値で取得され、次のとおりです。 スプリット文字列は、自分の状況に応じて可能にする:私がいた 「&」 、「= 」、独自の配列インデックスに応じて改訂された[ 1 ]
VAR名= document.cookie.split( "&")[1] .split( "=")[1 ]。 console.log(usern AME)。
Iこれら二つの直接使用は、メインページ(HTML)へのログイン画面に(asp.net)ユーザー名を取得します。 ************************************************** ************************************************** // JSクッキーを操作する方法! // 書き込みクッキー 関数ますsetcookie(名前、値) { VAR日= 30 ; VAR EXP = 新しい日付(); exp.setTime(exp.getTime() +日* 24 * 60 * 60 * 1000年); document.cookie =名+ " = " +エスケープ(値)+ " ; =期限切れに" + ()をexp.toGMTString。 } // 读取クッキーの 関数getCookie(名) { VAR ARR、REG = 新しい正規表現(" (^ |)" +名+ " =([^;] *)(; | $)" ); もし(ARR = document.cookie.match(REG)) リターンアンエスケープ(ARR [ 2 ])。 他の リターン はnull ; } // Cookieの削除 機能のdelCookie(名) { VAR EXP = 新しい日付(); exp.setTime(exp.getTime() - 1 )。 VAR CVAL = getCookie(名); もし(CVAL!= nullの) document.cookie =名+ " = " + CVAL + " ; =満了する" + exp.toGMTString()を。 } // 使用例 しますsetcookie(「名前」、「ヘイデン」); 警告(getCookie(" 名前" )); // あなたが設定したカスタム満了に必要がある場合は // [OK]を次の2つの関数に上記ますsetcookie関数。 // プログラムコードの 関数ますsetcookie(名前、値、時間 ) { VAR strsec = getsec(時間); VAR EXP = 新しい日付(); exp.setTime(exp.getTime() + strsec * 1 )。 document.cookie =名+ " = " +エスケープ(値)+ " ; =期限切れに" + ()をexp.toGMTString。 } 関数getsec(STR) { 警告(STR); VAR STR1 = str.substring(1、str.length)* 1 。 VAR STR2 = str.substring(0、1 )。 もし(STR2 == " S " ) { リターン * str1は1000年。 } それ以外の 場合(STR2 == " H " ) { リターン STR1 * 60 * 60 * 1000年。 } それ以外の 場合(STR2 == " D " ) { リターン STR1 * 24 * 60 * 60 * 1000年。 } } // これは、有効期限の設定の使用例である: // S20は20秒を表し @ Hは時間を意味し、例えば、12時間である:H12 // Dは日数は30日である:D30 ますsetcookie(「名前」、" ヘイデン"、" S20 " )。