JSを使用してページ間に情報を保存するにはどうすればよいですか?
私のウェブアプリはSQLクエリを使用していくつかのページにデータを入力していますが、これらのクエリは通常同じ結果を返します。この結果をJS変数に保存し、一部のイベントでのみSQLクエリを使用して強制的に更新する方法はありますか?
そして、これはSQLクエリに対してどれほど効率的ですか?対クッキー?
JSを使用してページ間に情報を保存するにはどうすればよいですか?
私のウェブアプリはSQLクエリを使用していくつかのページにデータを入力していますが、これらのクエリは通常同じ結果を返します。この結果をJS変数に保存し、一部のイベントでのみSQLクエリを使用して強制的に更新する方法はありますか?
そして、これはSQLクエリに対してどれほど効率的ですか?対クッキー?
ローカルストレージを試すことができます。
function supportsLocalStorage() {
try {
return 'localStorage' in window && window['localStorage'] !== null;
} catch (e) {
return false;
}
}
function saveGameState() {
if (!supportsLocalStorage()) { return false; }
localStorage["halma.game.in.progress"] = gGameInProgress;
for (var i = 0; i < kNumPieces; i++) {
localStorage["halma.piece." + i + ".row"] = gPieces[i].row;
localStorage["halma.piece." + i + ".column"] = gPieces[i].column;
}
localStorage["halma.selectedpiece"] = gSelectedPieceIndex;
localStorage["halma.selectedpiecehasmoved"] = gSelectedPieceHasMoved;
localStorage["halma.movecount"] = gMoveCount;
return true;
}
また、単一ページのWebアプリのパターンに従って、Ajaxを使用することもできます。詳細については、 backbone.jsを検索してください。
さらに進むと、変更があった場合にのみクライアントに更新をプッシュするように設定できるMeteorなどのフレームワークを検索できます(他の方法もありますが、meteorの方法が気に入っています)