[解決済み] ページ更新後も値を保持するJS変数を取得する方法は?重複
2022-05-18 01:23:16
質問
javascriptの変数を永久に変更することは可能でしょうか?例えば、私が変数Xを設定し、それを1に等しくし、次にボタンのonClickでその変数を2に変更する場合、ページの更新時にその変数を2に維持するようにするにはどうしたらよいですか?
どのように解決するのですか?
これは
window.localStorage
または
window.sessionStorage
. この違いは
sessionStorage
はブラウザが開いている限り続くということです。
localStorage
はブラウザの再起動の後でも存続します。 永続性は
ウェブサイト全体
に適用されます。
次のページに反映させる変数を設定する必要がある場合、使用します。
var someVarName = "value";
localStorage.setItem("someVarKey", someVarName);
そして、任意のページで(ページが読み込まれた時など)、次のように取得します。
var someVarName = localStorage.getItem("someVarKey");
.getItem()
が返されます。
null
を返す。
注意点として
は文字列値のみ
はこのストレージに保存することができますが、これは
JSON.stringify
と
JSON.parse
. 技術的には
.setItem()
を呼び出すと、それは
.toString()
を呼び出し、その値を保存します。
MDN の DOM ストレージガイド (下記リンク) には、回避策やポリフィルがあり、最終的にクッキーのようなものにフォールバックすることになりますが、もし
localStorage
が利用できない場合、クッキーのようなものにフォールバックします。
任意のデータ型(オブジェクトリテラル、配列など)を保存する機能を抽象化した、既存の、または独自のミニライブラリを使用するのも悪くないでしょう。
リファレンスです。
-
ブラウザ
Storage
- https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Storage -
localStorage
- https://developer.mozilla.org/en-US/docs/DOM/Storage#localStorage -
JSON
- https://developer.mozilla.org/en-US/docs/JSON - ブラウザー ストレージの互換性 http://caniuse.com/namevalue-storage
- オブジェクトの保存 HTML5 の localStorage にオブジェクトを格納する。
関連
-
vue+webrtc(Tencent cloud)ライブ機能の実践を実現するために
-
vueのプロジェクトでモックを使用する方法を知っていますか?
-
[解決済み] JavaScriptで現在のURLを取得する?
-
[解決済み] JavaScriptのオブジェクトをループスルーまたは列挙するにはどうすればよいですか?
-
[解決済み] HTML5のlocalStorageにオブジェクトを格納する方法は?
-
[解決済み] JavaScriptでURLをエンコードする?
-
[解決済み] jQueryでページを更新するにはどうすればよいですか?
-
[解決済み] リンクのように動作するHTMLボタンを作成する方法
-
[解決済み】オブジェクトの配列を文字列のプロパティ値でソートする
-
[解決済み】JavaScriptの関数にデフォルトのパラメータ値を設定する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
元のイベントが実行されなかった後に要素を追加するためのjQueryソリューション
-
Vueにシンプルなメモ帳機能を実装
-
VUEグローバルフィルターの概念と留意点、基本的な使い方
-
Vueの「データを聴く」原則を解説
-
[解決済み】JavaScriptの配列でforEachが関数でない不具合
-
[解決済み】TypeScript-のAngular Frameworkエラー - "exportAsがngFormに設定されたディレクティブはありません"
-
[解決済み】<select>で現在選択されている<option>をJavaScriptで取得するにはどうすればよいですか?
-
[解決済み】「.addEventListener is not a function」なぜこのエラーが発生するのか?
-
[解決済み] HTML5のlocalStorageにオブジェクトを格納する方法は?
-
[解決済み] Safariでhtml5 localStorageエラー。"QUOTA_EXCEEDED_ERR: DOM Exception 22: An attempt was made to add something to storage that exceeded the quota." と表示されます。