所有浏览器都支持window.frameElement(用于同源iframe)
Is window.frameElement (for same-origin iframes) supported across all browsers?
我已经尽可能多地在谷歌上搜索了,我不确定是否支持iframe的文档在父窗口中获取自己的id:window.frameElement.id
。浏览器太多了,很难全部测试,而且网上似乎没有任何信息。我特别想知道:
SafariiOS SafariWindows 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文档之外,我还测试了一些浏览器,并确认IE7+、Safari、Firefox、Chrome都支持它。所以几乎所有的浏览器。
我还没有测试IE6-,但我想你不需要在意。
var frame = window.frameElement; //Get <iframe> element of the window
if (frame) { window.location.href = "/403.shtml"; ...
此代码在跨浏览器(FF、Chrome、IE)中不适用于我A更喜欢这个,工作正常,跨浏览器。。。
if (window.self === window.top) window.location.href = "/403.shtml";
//or if (window.self !== window.top) window.location.href = "/403.shtml";
相关文章:
- JavaScript调整iFrame大小-适用于Firefox/IE,但不适用于Chrome
- 用于获取跨域URL的iFrame替代方案
- 异步表单w/Iframe Target——OnLoad适用于FF、Chrome、IE9,不适用于;无法在IE7中得到响应
- 将自定义javascript函数应用于iframe元素
- Google Analytics(分析)活动,用于从iframe聊天中收集信息
- 单独用于 iframe 的“后退”按钮
- 下载文件不适用于 iframe
- 如何在 Firefox 中以编程方式将焦点应用于 iframe 中的父框架(解决方法为 window.focus())
- 用于 iFrame 嵌入的 youtube 参考 API 未加载 iFrame
- 用于 iframe 的 Javascript 事件已完成加载
- 将 CSS 应用于 iframe 父级(在同一域上)
- 将实时 jQuery 事件应用于 iframe 内容
- 在单击时应用于 Iframe
- Facebook Like Box仅适用于iFrame
- 将父项应用于iframe
- 将自定义JS和CSS应用于iframe?(制作第三方移动网站)
- .click函数用于iframe内的对象
- 将CSS应用于IFrame时出现跨浏览器问题
- 是否“;运行到完成”;应用于iframe内的代码
- 将 CSS 应用于 iframe 内容