之间的关系是 和它的文档的一种方式?(Is the relation between <

2019-07-30 04:14发布

你可以得到的节点document的对象<iframe>contentDocument的财产HTMLIFrameElement

但我不能找到一种方法,获得<iframe>背出节点。
是关系<iframe>和它的文档只有一个办法?
如果是这样, 为什么?

非工作演示:

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"

Answer 1:

iframe元素是不同的document (这是在主要页面的元素),比div元素(这是在iframe页面中的元素)。

你可以得到iframe这样的元素:

iframe.contentWindow.frameElement === iframe

或内部时, iframe脚本环境:

window.frameElement

或使用div

div.ownerDocument.defaultView.frameElement === iframe

更新演示



Answer 2:

事情是,对于(div)console.log线,它们是框架的一部分,他们不知道他们是在一个框架,使.closest('iframe')是空的。



文章来源: Is the relation between