【问题标题】:How can I store data between web pages?如何在网页之间存储数据?
【发布时间】:2012-08-22 11:26:33
【问题描述】:

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

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

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

【问题讨论】:

  • 有什么问题?有什么更好的方法或怎么做?

标签: javascript session web-applications session-state


【解决方案1】:

你可以试试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;
}

【讨论】:

    【解决方案2】:

    您也可以遵循single page web app 模式并使用Ajax,查看backbone.js 了解更多信息

    如果你走得更远,你可以查找诸如Meteor之类的框架,这些框架可以设置为仅在发生更改时才将更新推送到客户端(还有其他方法,但我喜欢meteor的做法)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-06
      • 2011-10-30
      相关资源
      最近更新 更多