sessionStorage

3060 ワード

HTML 5セッションストレージ
sessionStorageは、同じウィンドウ(またはラベルページ)のデータを一時的に保存するHTML 5に追加されたセッション格納オブジェクトであり、ウィンドウまたはラベルページを閉じると削除されます.本編では、sessionStorage(セッションストレージ)の使い方について説明します.追加、変更、削除などの操作が含まれます.
JavaScript言語ではwindowを使用できます.sessionStorageまたはsessionStorageがこのオブジェクトを呼び出します.
特徴:
  • 同源ポリシー制限.同じセッション・ストレージを異なるページ間で操作するには、同じプロトコル、同じホスト名、および同じポートの下にある必要があります.(IE 8と9の記憶データは同一ホスト名のみに基づき、プロトコル(HTTPとHTTPS)とポート番号の要求を無視)
  • 単一ラベルページ制限.sessionStorage操作は、単一のラベル・ページに制限され、このラベル・ページに同源ページ・アクセスしてもsessionStorageデータを共有できます.
  • はローカルにのみ格納されます.seesionStorageのデータは、HTTPリクエストとともにサーバに送信されず、ローカルでのみ有効になり、ラベルページを閉じた後にデータが消去されます.(Chromeのリカバリラベルページ機能を使用するとseesionStorageのデータもリカバリされます).
  • 記憶方式.seesionStorageの格納方式はkey,valueの方式を採用している.valueの値は文字列タイプでなければなりません(非文字列が入力され、格納時に文字列に変換されます.true値は「true」に変換されます).
  • ストレージ上限制限:異なるブラウザストレージの上限も異なるが、多くのブラウザは上限を5 MB以下に制限している.

  • アクセス可能http://dev-test.nemikor.com/web-storage/support-test/ブラウザのストレージ上限のテスト
    ブラウザの最小バージョンのサポート
    sessionStorageをサポートするブラウザの最小バージョン:IE 8、Chrome 5.
    シーンに合わせる
    sessionStorageはSPA(単一ページアプリケーション)に適しており、各ビジネスモジュールでの価値伝達を容易にすることができます.
    ツールバーの
    readonly int sessionStorage.length:sessionStorageオブジェクトに格納されているデータ・アイテム(キー値ペア)の数を示す整数を返します.
    方法
    string sessionStorage.key(int index):現在のsessionStorageオブジェクトのindexシーケンス番号のkey名を返します.nullが返されなかったら.
    string sessionStorage.getItem(string key):キー名(key)に対応する値(value)を返します.nullが返されなかったら.
    void sessionStorage.setItem(string key,string value):このメソッドは、キー名(key)と値(value)をパラメータとして受け入れ、キー値ペアをストレージに追加します.キー名が存在する場合は、対応する値が更新されます.
    void sessionStorage.removeItem(string key):指定したキー名(key)をsessionStorageオブジェクトから削除します.
    void sessionStorage.clear():sessionStorageオブジェクトのすべてのアイテムをクリア
    ストレージデータ
    setItem()メソッドで格納
    sessionStorage.setItem('testKey','       value '); //      
    

    属性による保存
    sessionStorage['testKey'] = '       value ';
    

    データの読み込み
    getItem()メソッドによる値の取得
    sessionStorage.getItem('testKey'); // =>   testKey    
    

    属性による値の取得
    sessionStorage['testKey']; // =>        value 
    

    Jsonオブジェクトの保存
    sessionStorageはJsonオブジェクトも格納可能:格納時、JSONを通過する.stringify()オブジェクトをテキストフォーマットに変換します.読み込み時にJSONを通過する.parse()テキストをオブジェクトに変換
    var userEntity = {
        name: 'tom',
        age: 22
    };
     
    //    :      Json   
    sessionStorage.setItem('user', JSON.stringify(userEntity));
     
    //    :     Json        
    var userJsonStr = sessionStorage.getItem('user');
    userEntity = JSON.parse(userJsonStr);
    console.log(userEntity.name); // => tom
    
    
    
    
    
    var CurrentUser = {
        set: function(user) {
            sessionStorage["_currentUser"] = JSON.stringify(user);
        },
        get: function() {
            var json = sessionStorage["_currentUser"];
            if (!json) {
                return null;
            }
            return JSON.parse(json);
        },
        remove: function() {
            sessionStorage.removeItem("_currentUser");
        }
    };