0

シングル ページ アプリがユーザーの更新に耐えられるようにするソリューションを構築しようとしています。現在、DOM に格納している大きなモデル オブジェクトがあり、ユーザーがアプリを操作するときに、モデル オブジェクトの情報を追加および削除します。他の投稿を読んだことに基づいて、次の作業を開始しました。

function snapshotModel(){
    var tempModel = JSON.stringify(modelLocator);
    sessionStorage.setItem('model', tempModel); 
    console.log('updated model snapshot');
}

function getTempModel(){
    if (sessionStorage.model && sessionStorage.model.length > 0){
        var tempModel = sessionStorage.getItem('model');
        modelLocator = $.parseJSON(tempModel);
    } else {}   
}

ユーザーがログインすると、これはうまく機能します.modelLocatorのスナップショットを撮り、5〜10分ごとにこれを続けます. ただし、ユーザーがアプリの操作を開始すると (ユーザー情報の編集または注文トランザクションの操作)、Chrome の値の制限を最大にします。テストしたところ、chrome は 120666 文字を使用できることがわかりました。トランザクションの途中で、約 196475 文字に達しました。ご覧のとおり、modelLocator が切り捨てられ、ユーザーが更新を押したときに文字列を JSON として再読み込みできません。

モデルを保存する方法について誰か提案がありますか? モデルの一部の領域は、名前と値のペアであり、他のセクションは 6 つのレバーの深いオブジェクトです。

助けてくれてありがとう。

4

1 に答える 1