如何在多页应用程序(独立于浏览器)中保持 javascript 对象处于活动状态?
我知道我可以例如编写一个带有背景页面的 Chrome 扩展程序来解决它,但是有没有一种独立于浏览器的方法呢?
如何在多页应用程序(独立于浏览器)中保持 javascript 对象处于活动状态?
我知道我可以例如编写一个带有背景页面的 Chrome 扩展程序来解决它,但是有没有一种独立于浏览器的方法呢?
一种方法是让您的 javascript 代码加载页面(通过“ajax”调用),然后替换 html 的主体或部分内容。这样,就浏览器而言,您仍然在同一个“页面”上。您必须确保您网站中的所有链接都是无效的,而不是导致浏览器页面加载,它们实际上会触发 javascript 函数。例如,这就是 Facebook 管理其网站点击量的方式。见https://stackoverflow.com/a/7425870/562906
当您使用 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 ,您可能不需要第三方脚本。
您可以使用 cookie 在页面请求之间传递数据。除此之外,您总是必须从头开始重建您的对象。