HTML5の方法でsessionStorageを使用するのは理にかなっていますか?
HTML5セッションストレージはウィンドウごとであるため、この方法では、さまざまなデバイスがブラウザセッションを処理する方法に依存せず、ブラウザウィンドウの存続期間に制限されます。
基本的に、すべてのモバイルデバイスはsessionStorageをサポートし(ここを参照)、jQuery-Session-Plugin(このリンクをたどる)のようなフレームワーク/プラグインでセッションデータを処理することができます(そして、そうでない古いブラウザーのセッションCookieへのフォールバックを提供します) sessionStorageをサポート)。
編集:sessionStorageとlocalStorageの動作を示すために、(デモンストレーションの目的で)sessionStorageを使用してdivの幅を格納し、localStorageを使用して同じdivの高さを格納するフィドルを作成しました。
var randomWidth,
randomHeight;
if (!(randomWidth= $.session.get("randomWidth"))) { // assignment
randomWidth = Math.random() * 300;
$.session.set("randomWidth", randomWidth, true);
console.log("just assigned and stored in sessionStorage: randomWidth: " + randomWidth);
} else {
console.log("from sessionStorage: randomWidth: " + randomWidth);
}
if (!(randomHeight= $.domain.get("randomHeight"))) { // assignment
randomHeight = Math.random() * 300;
$.domain.set("randomHeight", randomHeight, true);
console.log("just assigned and stored in localStorage: randomHeight: " + randomHeight);
} else {
console.log("from localStorage: randomHeight: " + randomHeight);
}
$(".test").css({width: randomWidth, height: randomHeight});
コンソールを見てください。クライアントブラウザの新しいセッションを開始すると、幅は変化しますが、高さは同じままです(ローカルストレージはドメインごとにあるため)。
これがjsfiddleへのリンクです