Javascript 我可以通过多个HTML页面使用套接字吗?

Javascript 我可以通过多个HTML页面使用套接字吗?,javascript,node.js,sockets,Javascript,Node.js,Sockets,例如,如果用户通过自动加载的标准index.html页面进入我的Web应用程序,那么如果用户单击我的网页上加载另一个属于我的Web应用程序的html页面的按钮,是否仍可以使用该套接字?现在,我有一个前端js页面,用于我的3个html文件。它适用于我的标准索引文件,但当我单击一个按钮,该按钮将指向另一个html文件,该文件也连接到我的前端js页面,它表示io未在控制台中定义。加载新HTML页面将导致新页面上的Javascript执行-这将破坏上一页面的任何上下文,包括已建立的连接 有两种方法可以解

例如,如果用户通过自动加载的标准index.html页面进入我的Web应用程序,那么如果用户单击我的网页上加载另一个属于我的Web应用程序的html页面的按钮,是否仍可以使用该套接字?现在,我有一个前端js页面,用于我的3个html文件。它适用于我的标准索引文件,但当我单击一个按钮,该按钮将指向另一个html文件,该文件也连接到我的前端js页面,它表示io未在控制台中定义。

加载新HTML页面将导致新页面上的Javascript执行-这将破坏上一页面的任何上下文,包括已建立的连接

有两种方法可以解决这个问题:

编写代码以在页面加载时重新建立连接。这将需要传递某种类型的标识符,以便新连接与现有会话相关联

将应用程序编写为单页应用程序SPA。在SPA中,页面在客户端呈现,作为第一次加载时传递给客户端的Javascript应用程序的一部分。因此,由于当用户从一个页面移动到另一个页面时没有重新加载,因此连接不会丢失


将浏览器加载的每个不同页面看作一个不同的应用程序。如果不是这样,与我们已经存在的安全问题相比,将会有巨大的安全问题。