【问题标题】:Get an iframe DOM element given its URL获取给定 URL 的 iframe DOM 元素
【发布时间】: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)?

【问题讨论】:

    标签: javascript html dom iframe resource-timing-api


    【解决方案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)
    猜你喜欢
    • 2018-11-29
    • 2013-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-05
    • 1970-01-01
    相关资源
    最近更新 更多