首页 > 解决方案 > 如何获取动态生成的 iframe 的 src 值

问题描述

我有一个功能可以在我的页面上创建一个包含内容的 iframe(我无法控制此功能,因为它也是远程拉出的)。该函数生成: <span id="myspan"></span>

一旦js函数完全加载,它是: <iframe id="myspan" src="https://google.de">

我的问题是,我怎样才能得到 iframe 的 src。所有尝试使用 .src , getElementById 失败或将我的“未定义”作为 src 值。对于正常的 iframe 设置,.src 等工作正常。此 src 上的 onload 也失败。有任何想法吗 ?

我尝试 <script>var iframeSrc = document.getElementById('#myspan').src;alert(iframeSrc);</script> 了未定义的结果。

标签: javascripthtmliframe

解决方案


尝试使用setInterval,它将在指定为第二个参数的间隔内运行指定为第一个参数的代码。在这种情况下,它会每 500 毫秒轮询一次 iframe 是否存在。

找到 iframe 后,请务必使用 清除间隔clearInterval,因为我们不再需要轮询。

var intervalId = setInterval(function() { 
    var iframe = document.getElementById('myspan');

    if (iframe) { 
        clearInterval(intervalId);

        var iframeSrc = iframe.src;
        alert(iframeSrc);
    }
}), 500);

希望这可以帮助。


推荐阅读