众所周知,当使用几个iframe时,window.parent可以帮助人们获得当前窗口的父窗口。但是,应该有一个最外层的窗口,其父窗口为null --我认为是空的。
我试过父母..。当我找到其中一个父程序为null时,我想我可以得到根窗口。令人惊奇的是,无论我使用了多少父变量,父变量都不会为空。
我有一个条件如下。
带域的Website1 : csm.mysite.com
带有域的网站1-1: csmnew.mysite.com
Website1 1-1位于Website1的iframe中(它们不在同一域中)。
同时,在they站点1-1中,有许多iframe(它们位于同一个域)。
我需要为Website1 1-1设置/获取一个全局变量,所以我使用了top。这真的很有帮助。
但是,当Website1-1在中时,总是会引发错误,因为top变量(在website1-1中)被引用到Website1,并且对跨域策略无效。但我真正想要的是设置/获取Website1-1的"top“变量。
然后我在想如果我能请父母..。为了获得网站的最外面的窗口1-1,而不是使用顶部,这让我得到错误的窗口。
回到话题,为什么家长..。总是空的?
顺便问一下,有没有人知道如何获得"Website1-1“的最外层窗口?
非常感谢
发布于 2015-06-23 15:01:35
如果窗口没有父窗口,window.parent包含对self的引用,这就是为什么它永远不会为null。
来源:https://msdn.microsoft.com/en-us/library/ms952669.aspx
要找到最外层的窗口,可以使用window.frameElement。这与您期望的window.parent的工作方式是一样的:
这里有更多详细信息:https://developer.mozilla.org/en-US/docs/Web/API/Window/frameElement
https://stackoverflow.com/questions/31005998
复制相似问题