如何在网页之间存储数据?

时间:2012-08-27 23:47:24

标签: javascript session web-applications session-state

如何在JS页面之间存储一些信息?

我的webapp使用sql查询来填充几页,这些查询通常会返回相同的结果。有没有办法将此结果存储在JS变量中,并仅在某些事件中强制使用sql查询进行刷新?

这与SQL查询的效率如何?与饼干?

2 个答案:

答案 0 :(得分:5)

您可以尝试Local Storage.

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;
}

答案 1 :(得分:0)

您也可以按照single page web app模式使用Ajax,查看backbone.js以获取更多信息

如果你走得更远,你可以查找Meteor这样的框架,只有在有变化时才设置推送更新到客户端(有其他方法,但我喜欢meteor如何做)