javascript - <iframe> 和它的文档之间的关系是一种方式吗?

标签 javascript jquery dom iframe dom-traversal

可以得到document的节点<iframe> 的对象与 contentDocument HTMLIFrameElement 的属性(property)

但我找不到获取 <iframe> 的方法退出节点。
<iframe> 之间的关系它的文档只有一种方式?
如果是,为什么?

A non working DEMO:

var iframe = document.getElementById('iframe');
var doc = iframe.contentDocument || iframe.contentWindow.document;

var div = doc.getElementsByTagName('div')[0];

console.log('Did we find the iframe? ' + ($(div).closest('iframe').length > 0));​
// Output: "Did we find the iframe? false"

最佳答案

iframe 元素与 div 元素(它是iframe 页面)。

您可以像这样获取 iframe 元素:

iframe.contentWindow.frameElement === iframe

或者在 iframe 脚本环境中:

window.frameElement

或者使用div

div.ownerDocument.defaultView.frameElement === iframe

Updated demo

关于javascript - &lt;iframe&gt; 和它的文档之间的关系是一种方式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11249702/

相关文章:

Javascript 简化的 if 语句

javascript 在屏幕上用动画显示图像

javascript - Virtual DOM和Real DOM步骤简单操作

javascript - 图像可以显示在 JavaScript Alertbox 中吗

javascript - 为什么 xpath 较慢

javascript - D3.js:上下文+焦点缩放多个图表

javascript - 显示/隐藏弹出窗口的性能差异。 react

javascript - Firebase 实时数据库规则 - 允许多个用户访问列出所有消息

jquery - 可拖动 div 的 z-index 顺序

jquery empty() 不起作用