JavaScript - 多个HTML框架中的多个全局对象?

Lik*_*You 5 html javascript dom

我们在多帧框架集HTML中有多个(不同的)全局对象吗?

通常使用:

 if(window.top != window.self) {
   alert("We're in a frame");
 }
Run Code Online (Sandbox Code Playgroud)

where window是is的[[global]]对象属性self,两者都是[[global]]对象本身的引用.但是,如果window.top引用最顶层的window框架对象,因此指向[[global]]对象,[[global]]我们有多少个对象?或者窗口DOM部分可能只是更改?

sle*_*ica 2

每个document(因此每个帧)都有自己的window对象。

window对象不是唯一的单例。这只是 的一个实例Window。为每一个创建一个document,并且可以通过 访问document.defaultView

当且仅当您的应用程序的两个部分共享 a 时document,它们才共享 a window

没有[[global]]对象:全局作用域只是方便访问当前window.