我已经尽可能多地搜索了,但我不确定是否支持 iframe 的文档在父窗口中获取其自身的 id:window.frameElement.id
。浏览器太多,很难全部测试,而且网上似乎没有任何信息。我特别想知道:
Safari 苹果浏览器 Windows Phone 浏览器 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>
最佳答案
我碰巧在寻找相同的信息。 这是我的发现。
https://developer.mozilla.org/en-US/docs/Web/API/Window.frameElement
除了MDN doc,我还测试了一些浏览器,确认IE7+、Safari、Firefox、Chrome都支持。几乎所有浏览器。
我没有在 IE6- 上测试过,但我想你不需要关心。
关于javascript - 是否所有浏览器都支持 window.frameElement(用于同源 iframe)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23271268/