给window对象绑定属性后,跳转到另一个网页后之前绑定的window对象上的属性还在吗?

给window对象绑定属性后,跳转到另一个网页后之前绑定的window对象上的属性还在吗?

比如在A页面,给window对象上绑定了一个属性objA,然后通过window.loacation.href跳转到B页面,这时在B页面再去取window.objA却取不到了,为什么会这样?浏览器窗口又没关闭,为何A页面的window对象属性会在B页面消失呢?


回答:

这就好比,你租了一个房子,然后质问上一个租客,为什么没有把他的车子票子留下

每次标签页的刷新都相当于一次初始化,新的页面和旧的页面没有关联,如果是同源页面,可以共享Storage、cookie等数据


回答:

为了简化web应用处理的难度,浏览器实现中一般把任何window.loacation.href跳转(除了锚点定位外) 都处理为全新页面加载,会清除所有页面已有对象,完全重新构建dom对象树。

这时老页面涉及的资源都被回收了,当然就不能访问啦。

你如果需要访问老页面的一些信息,需要理由诸如 cookie、本地数据存储、session、远程数据存储、新页面访问参数中附带等等方式

二者这些方法都只能进行数据的传递,而不能进行 对象方法 的传递,如果要用到原来页面中的对象方法,你其实只能重新构建对象,配置相应属性后,再调用方法。

以上是 给window对象绑定属性后,跳转到另一个网页后之前绑定的window对象上的属性还在吗? 的全部内容, 来源链接: utcz.com/p/936791.html

回到顶部