在Javascript中,假设我们有一个包含<iframe> (iframe.html)的主页(main.html)。
现在在这个iframe.html中,如果我们需要引用主页上的内容(main.html),我们能不能只指定window而不是parent.window
如果答案是我们需要编写parent.window,我想知道主页中的所有iframe是否都没有一个window对象引用。
虽然我确实理解document是特定于单个iframe的,但是window应该对所有人都是通用的……it...Please不是帮助我理解这个概念吗……
还有什么是window.parent的吗?如果是,它与parent.window有什么不同?
发布于 2011-07-13 21:13:17
window的概念与document捆绑在一起:每个document有一个window,每个window有一个document。
这意味着拥有自己document的<iframe>元素也有自己的window,就像弹出窗口或主导航窗口一样。
因此,您实际上必须使用window.parent来访问<iframe>元素的容器,就像您必须使用window.opener来访问弹出窗口的所有者一样。
EDIT: window.parent和parent.window都是返回相同对象的有效表达式。这是因为window对象是脚本中的默认上下文(未限定名称被解析为window的成员),而window对象有一个引用自身的window属性。
因此,parent.window的计算结果是window.parent.window,它是与window.parent相同的对象。
也就是说,我确实更喜欢使用window.parent,以避免与额外的属性访问相关的(最小的)开销。
https://stackoverflow.com/questions/6679406
复制相似问题