浏览器选项卡和窗口之间的区别

时间:2016-01-07 11:33:47

标签: javascript

在网络浏览器中,每个窗口都有自己的JavaScript环境 全球对象。但看起来在同一窗口中打开一个新选项卡也会创建一个不同的全局对象。这是真的吗?新标签和新窗口之间的主要区别是什么?

2 个答案:

答案 0 :(得分:5)

唯一的区别是窗口如何呈现给用户。每个选项卡/窗口都有一个完全独立的DOM(文档对象模型)和JavaScript环境。

大多数浏览器都会共享Cookie,因此会在标签页和新窗口之间共享会话。有些人有隐姓埋名的'防止在隐身模式和普通模式窗口之间共享会话的模式。

答案 1 :(得分:1)

是的,如果您在新窗口或选项卡中打开相同的页面,将再次创建全局对象或变量,如果您在选项卡A或窗口B中进行了一些更改或修改,并且以某种方式更改了值全局对象或变量然后它将不会反映在选项卡C或窗口D中,除非您将其显式保存到服务器并从那里再次获取它。您无法保留全局对象的值,它们将再次创建。请注意,会话变量或对象始终相同。

标签和窗口之间的区别

选项卡与窗口大致相同。窗口可以包含多个选项卡,所有会话数据和cookie在所有选项卡和打开的窗口中共享。打开很多标签比打开几个窗口更好,因为太多窗口太杂乱无法处理。

隐身(私密模式浏览)窗口不会与常规窗口或常规窗口中的任何标签共享任何信息,但隐身窗口中的所有标签共享相似的会话数据或Cookie。隐身窗口的新实例也会在隐身窗口中显示为新标签,并且会分享隐身窗口的会话数据或Cookie。