我正在创建一个 mqtt web 应用程序,因为当消息从服务器发布时,我在 mqtt javascript 函数中得到一个 json 数组。我有一个来自该用户的订阅页面可以订阅(订阅代码在 mqtt javascript 中),所以一旦用户登录,就有多个页面,用户可以检查每个页面的数据。但我面临的问题是,当页面被重定向时,它会再次要求为用户订阅。目前我正在母版页上加载该脚本,因此它每次都在每个页面上加载并且计时器代码不执行
2 回答
汪汪一只猫
TA贡献1898条经验 获得超8个赞
每次加载新的完整页面时,脚本都会重新加载并从新开始。
如果您希望客户端脚本/状态跨页面存在,那么您需要一个单页应用程序(例如 Angular/Ember 等或自定义脚本)。SPA 基本上使用 javascript 从服务器手动加载页面片段并将它们集成到当前文档中,同时维护当前脚本上下文。这样可以维护客户端脚本变量/参数。
或者,您可以使用 cookie 或服务器端会话在整个页面加载中保持状态。
侃侃无极
TA贡献2051条经验 获得超10个赞
如果您只想保存数据并在其他页面中恢复数据,您可以使用其中一种解决方案,例如会话存储或 webSQL 或 window.name ...
window.name = JSON.tostring(myData);
但是如果你只想加载一个页面,你可以看看其他框架,比如 Vuejs
https://forum.vuejs.org/t/independent-vue-2-components-one-instance-or-several/4228
添加回答
举报
0/150
提交
取消