1

如何在多页应用程序(独立于浏览器)中保持 javascript 对象处于活动状态?

我知道我可以例如编写一个带有背景页面的 Chrome 扩展程序来解决它,但是有没有一种独立于浏览器的方法呢?

4

3 回答 3

2

一种方法是让您的 javascript 代码加载页面(通过“ajax”调用),然后替换 html 的主体或部分内容。这样,就浏览器而言,您仍然在同一个“页面”上。您必须确保您网站中的所有链接都是无效的,而不是导致浏览器页面加载,它们实际上会触发 javascript 函数。例如,这就是 Facebook 管理其网站点击量的方式。见https://stackoverflow.com/a/7425870/562906

于 2012-04-26T12:43:34.790 回答
1

当您使用 html5 时,您可以使用本地存储来存储对象的 JSON 表示:

var json_text = JSON.stringify(your_object, null, 2);

localStorage.setItem("someKey", json_text);

然后在另一页上检索您的项目:

var your_object = JSON.parse(localStorage.getItem("someKey"));

要使用JSON.stringify可能需要JSON-js - 如果浏览器支持 html5 您可能不需要第三方脚本。

于 2012-04-26T12:43:46.267 回答
0

您可以使用 cookie 在页面请求之间传递数据。除此之外,您总是必须从头开始重建您的对象。

于 2012-04-26T12:36:11.323 回答