获取给定 URL 的 iframe DOM 元素
Posted
技术标签:
【中文标题】获取给定 URL 的 iframe DOM 元素【英文标题】:Get an iframe DOM element given its URL 【发布时间】:2015-12-29 03:48:09 【问题描述】:我正在使用 w3c 资源计时 API。 window.performance.getEntriesByType("resource");这给出了包括 iframe 在内的资源列表。但是,为了获取嵌入式 iframe 的资源,我需要获取 iframe 的性能对象,这需要我引用其 DOM 节点/元素。
var myiframe2 = $("#myiframe2");
var myiframeContentWindow = myiframe2[0].contentWindow;
var iframeContentPerf = myiframeContentWindow.performance;
问题是,如果我只知道 iframe 的 URL,如何获取 iframe 的节点引用,这就是我所知道的(与上面的代码示例不同,我不会知道 iframe 的 ID 或名称)。
除了遍历文档的元素然后过滤 iframe 并将 iframe 的 URL 与 Resource Timing API 返回的内容进行比较之外,是否有一种简单的方法来获取 iframe 的 DOM 节点(给定 iframe 的 URL)?
【问题讨论】:
【参考方案1】:如果 iframe 的 URL 没有改变,您可以尝试使用 CSS 选择器使用确切的 URL 直接获取它:
document.querySelector('iframe[src="http://example.org"]');
如果 URL 会改变,但每个 iframe 都有一个唯一部分(可以识别特定 iframe):
document.querySelector('iframe[src*="example.org/some/url"]');
【讨论】:
我从 document.querySelector 调用中得到一个空值。任何解决方法? 即使我尝试 document.querySelector('iframe[src*="example.org/some/url"]');打电话 我需要更具体的代码块来提供帮助(您可以提供一个要点:gist.github.com)以上是关于获取给定 URL 的 iframe DOM 元素的主要内容,如果未能解决你的问题,请参考以下文章