javascript - 如何使 javascript 一次加载并在所有网页上运行
问题描述
我正在创建一个 mqtt Web 应用程序,当从服务器发布消息时,我在 mqtt javascript 函数中得到一个 json 数组。
我有一个用户可以订阅的订阅页面(订阅代码在 mqtt javascript 中),所以一旦用户登录,就有多个页面,用户可以检查每个页面的数据。
但我面临的问题是,当页面被重定向时,它会再次要求订阅用户。
目前我正在母版页上加载该脚本,因此它每次都在每个页面上加载,并且计时器代码不执行
解决方案
每次加载新的完整页面时,脚本都会重新加载并从新开始。
如果您希望客户端脚本/状态跨页面存在,那么您需要一个单页应用程序(例如 Angular/Ember 等或自定义脚本)。SPA 基本上使用 javascript 从服务器手动加载页面片段并将它们集成到当前文档中,同时保持当前脚本上下文。这样可以维护客户端脚本变量/参数。
或者,您可以使用 cookie 或服务器端会话在整个页面加载期间保持状态。
推荐阅读
- linux - 如何在不打开 Linux 浏览器的情况下从命令行执行 URL
- c++ - 如何使用 GetFinalPathNameByHandle 来解析指向本地目录的符号链接?
- python - Python httplib2 - 无法获得成功响应
- python - 使用正则表达式获取匹配字符串的百分比
- hyperledger-fabric - 将新对等方加入频道时出现管理员身份错误
- shell - 处理输出时,ipdb 中的制表符完成不起作用
- php - Wordpress 文件上传给出 HTTP 错误
- macos - 尝试通过自制软件为 Appium 安装移动设备驱动程序时,Mac 上的 Chown 失败
- reactjs - 为反应应用程序安装节点模块时出错
- python - 如何在 QScintilla 中实现 SublimeText 逐级功能