为了账号安全,请及时绑定邮箱和手机立即绑定

如何使 javascript 一次性加载并在所有网页上运行

如何使 javascript 一次性加载并在所有网页上运行

慕姐8265434 2021-11-25 16:10:06
我正在创建一个 mqtt web 应用程序,因为当消息从服务器发布时,我在 mqtt javascript 函数中得到一个 json 数组。我有一个来自该用户的订阅页面可以订阅(订阅代码在 mqtt javascript 中),所以一旦用户登录,就有多个页面,用户可以检查每个页面的数据。但我面临的问题是,当页面被重定向时,它会再次要求为用户订阅。目前我正在母版页上加载该脚本,因此它每次都在每个页面上加载并且计时器代码不执行
查看完整描述

2 回答

?
汪汪一只猫

TA贡献1898条经验 获得超8个赞

每次加载新的完整页面时,脚本都会重新加载并从新开始。

如果您希望客户端脚本/状态跨页面存在,那么您需要一个单页应用程序(例如 Angular/Ember 等或自定义脚本)。SPA 基本上使用 javascript 从服务器手动加载页面片段并将它们集成到当前文档中,同时维护当前脚本上下文。这样可以维护客户端脚本变量/参数。

或者,您可以使用 cookie 或服务器端会话在整个页面加载中保持状态。


查看完整回答
反对 回复 2021-11-25
?
侃侃无极

TA贡献2051条经验 获得超10个赞

如果您只想保存数据并在其他页面中恢复数据,您可以使用其中一种解决方案,例如会话存储或 webSQL 或 window.name ...

window.name = JSON.tostring(myData);

https://www.w3schools.com/html/html5_webstorage.asp

但是如果你只想加载一个页面,你可以看看其他框架,比如 Vuejs

https://forum.vuejs.org/t/independent-vue-2-components-one-instance-or-several/4228

https://vuejs.org/v2/guide/instance.html


查看完整回答
反对 回复 2021-11-25
  • 2 回答
  • 0 关注
  • 338 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信