首页  >  文章  >  web前端  >  如何在 Javascript 中处理 IFrame 加载事件而不访问内容?

如何在 Javascript 中处理 IFrame 加载事件而不访问内容?

Linda Hamilton
Linda Hamilton原创
2024-10-19 10:07:30991浏览

How to Handle IFrame Loading Events in Javascript without Accessing Content?

Javascript 中的 IFrame 加载事件处理

在 Javascript 中,可以在 IFRAME 加载完成时执行回调,即使 IFRAME 内容是无法访问。以下是实现此目的的方法:

方法:

  1. 以编程方式创建 IFRAME 并将其附加到 DOM。
  2. 使用 jQuery . load() 事件处理程序来检测 IFRAME 加载完成。
  3. 在回调中使用超时(例如 50 毫秒)来延迟 IFRAME 删除,确保数据检索。

示例:

<code class="js">$('#myUniqueID').load(function () {
    if (typeof callback === 'function') {
        // Retrieve the IFRAME body content and pass it to the callback
        callback($('body', this.contentWindow.document).html());
        // Remove the IFRAME after a short delay to allow content retrieval
        setTimeout(function () { $('#myUniqueID').remove(); }, 50);
    }
});</code>

注意: 如果 IFRAME 内容是从不同的域提供的,则由于跨域资源共享 (CORS),将无法检索其正文限制。

以上是如何在 Javascript 中处理 IFrame 加载事件而不访问内容?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn