如何在多页HTML5应用程序中保持JavaScript对象的活动状态
how to keep javascript objects alive in a multi-page html5 app?
如何在多页面应用程序中保持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 在页面请求之间传递数据。除此之外,你总是需要从头开始重建你的对象。
相关文章:
- Chrome开发工具(如何知道我在调用哪个javascript对象)
- 循环遍历以数组为值的Javascript对象
- 从ajax请求中获取javascript对象
- 如何从对象的原型方法访问JavaScript对象属性
- 将XML转换为普通的旧JavaScript对象
- 通过引用传递JavaScript对象
- javascript对象操作:根据指定条件选择属性
- Javascript对象类在单击时打开窗口进行颜色选择,并在更改时替换对象背景颜色
- 如何在异步函数中使用javascript对象
- 临时Javascript对象
- 如何在ASP中为用户控件添加Javascript对象网
- 使用数组向下搜索Javascript对象
- Rails将JavaScript对象存储到Model的有效方式
- JavaScript对象不是从原型链继承的
- 如何创建具有默认值的JavaScript对象字段?(AngularJS模型相关)
- SetInterval在javascript对象中表现怪异
- Javascript 对象和 this 关键字
- 如何在不知道关键字的情况下访问javascript对象值
- 在 JavaScript 对象中设置要使用的运算符的属性
- 如何搜索JavaScript对象并更改值