【发布时间】:2014-08-29 03:04:05
【问题描述】:
假设我有两个 HTML 页面,我们称它们为 page1.html 和 page2.html。然后用户通过调用location对象的assign或replace方法从page1.html导航到page2.html。我有一些问题如下:
Q1:page1.html 的 DOM 树会发生什么,当我们从 page2.html 导航回到它时,它会被卸载并重新加载吗?我可以从 page2.html 引用 page1.html 的 DOM 树吗?
Q2:如果我在 page1.html 中的套接字对象中维护套接字连接,我可以将该套接字对象传递给 page2.html 吗?我可以在 page2.html 中监听该套接字对象的事件吗?
Q3:我可以同时拥有 page1.html 和 page2.html 的共同对象吗?我可以做一些事情,比如维护一个计时器来为该对象中的 page1.html 和 page2.html 执行常见任务?该对象类似于其他 OOP 语言中的单例对象。
【问题讨论】:
-
恐怕你不能做这些事情。这是一个全新的页面,有自己的 DOM 和 Javascript 环境,旧的将被卸载/销毁,唯一的通信方式是通过查询、localStorage 或类似的东西传递数据(这显然非常有限) .
-
人们过去常常使用 iframe 作为“粘性容器”来解决这个问题。我想已经不是那么多了。
标签: javascript navigation