所有浏览器都支持window.frameElement(对于同源iframe)吗?

Don*_*mmy 5 javascript safari iframe internet-explorer webkit

我尽可能多地使用google搜索,我不确定iframe的文档是否支持在父窗口中获取自身的id : window.frameElement.id. 有这么多的浏览器,很难对它们进行全面测试,并且网上似乎没有任何信息.我特别想知道:

Safari iOS Safari Windows Phone IE IE 7,8,9,10,11

(我测试了Firefox和Chrome,他们都工作过).

示例IFRAME内容

<!DOCTYPE HTML>
<html>
    <head></head>
<body>
        <script type="text/javascript">
            var owner = window.frameElement;
            var thisIsWhoIsCalling = ( owner !== null ) ? owner.id : null;
            window.parent.SomeJavaScriptObject.someFunction( thisIsWhoIsCalling );
        </script>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

Joo*_*oon 5

我碰巧也在寻找同样的信息。这是我发现的。

https://developer.mozilla.org/en-US/docs/Web/API/Window.frameElement

除了MDN文档之外,我还测试了一些浏览器,并确认IE7+、Safari、Firefox、Chrome都支持。几乎所有浏览器都是如此。

我没有在 IE6 上测试过,但我想你不需要关心。