ホームページ >ウェブフロントエンド >jsチュートリアル >ステートレス HTTP 環境でページ読み込み全体で変数を保持するにはどうすればよいですか?
ページのロード間での変数の永続化
HTTP はステートレスであるため、ページのリロード間で値を保持するには外部ストレージが必要です。この制限を克服する方法は次のとおりです。
クエリ文字列
GET によるフォーム送信では、クエリ文字列 (?parameter=value) によってフォーム フィールド データが伝えられます。それに応じて隠しフィールドの値を設定します:
<form method="GET"> <input type="hidden" name="clicked" value="true" /> <input type="submit" /> </form>
ページの読み込み時に、クエリ パラメーターを抽出します:
function getParameterByName(name) { var regex = new RegExp("[\?&]" + name + "=([^&#]*)"), results = regex.exec(location.search); return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " ")); } var clicked = getParameterByName('clicked');
Web Storage
HTML5 が提供するWeb ストレージ。ブラウザベースのデータ ストレージを可能にします。 SessionStorage は、現在の閲覧セッション中にのみデータを保存します:
sessionStorage.setItem('clicked', 'true');
ページの読み込み時に、保存された値を取得します:
var clicked = sessionStorage.getItem('clicked');
Cookie
Cookie は主にサーバー側のデータ ストレージに使用されますが、クライアント側のストレージにも利用できます。 jQuery は Cookie の管理を簡素化します:
$.cookie('clicked', 'true', {expires: 1}); // expires in 1 day
ページの読み込み時に Cookie を読み取るには:
var clicked = $.cookie('clicked');
必要なくなったら忘れずに Cookie の設定を解除してください:
$.cookie('clicked', null);
Window.name
while推奨されません。window.name はページの更新やドメインにまたがって文字列を保存できます:
window.name = "my value";
ページの読み込み時に、保存された値にアクセスします:
var value = window.name;
以上がステートレス HTTP 環境でページ読み込み全体で変数を保持するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。