Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使javascript一次性加载并在所有网页上运行_Javascript_C#_Asp.net_Web - Fatal编程技术网

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

如何使javascript一次性加载并在所有网页上运行,javascript,c#,asp.net,web,Javascript,C#,Asp.net,Web,我正在创建一个mqtt web应用程序,当消息从服务器发布时,我在mqtt javascript函数中得到一个json数组 我有一个用户可以订阅的订阅页面(订阅代码在mqtt javascript中),因此一旦用户登录,就有多个页面,用户可以检查每个页面的数据 但我面临的问题是,当页面被重定向时,它将再次要求订阅该用户 目前,我正在母版页上加载该脚本,因此它每次都在每页上加载,并且计时器代码不会执行每次加载新的完整页面时,脚本都会重新加载,并从新页面重新开始 如果您希望客户端脚本/状态跨页面运行

我正在创建一个mqtt web应用程序,当消息从服务器发布时,我在mqtt javascript函数中得到一个json数组

我有一个用户可以订阅的订阅页面(订阅代码在mqtt javascript中),因此一旦用户登录,就有多个页面,用户可以检查每个页面的数据

但我面临的问题是,当页面被重定向时,它将再次要求订阅该用户


目前,我正在母版页上加载该脚本,因此它每次都在每页上加载,并且计时器代码不会执行

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

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


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

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

window.name = JSON.tostring(myData);

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


若要实现这一点,您需要实现单页应用程序。每次加载页面时,通过从服务器获取新的html文件,
js
将重新执行。如果希望javascript跨页面运行,则需要更改页面内容,而不是加载新页面。如果它包含在母版页中,则它也将包含在使用母版页的每个页面中。如果需要帮助,您需要发布一些代码-这可能只是您的Javascript中的一个简单错误,但如果没有看到它,我们将无法帮助您。我希望Javascript能够跨越所有页面。我该如何做到这一点。