首页 >web前端 >js教程 >如何用Javascript实现IFRAME加载完成时的回调?

如何用Javascript实现IFRAME加载完成时的回调?

Patricia Arquette
Patricia Arquette原创
2024-10-19 11:19:29556浏览

How to Implement a Callback When an IFRAME Finishes Loading with Javascript?

使用 Javascript 回调加载 Iframe

要在 IFRAME 完成加载时执行回调,请按照以下步骤操作:

创建 IFRAME 和加载处理程序

以编程方式创建 IFRAME:

<code class="javascript">var iFrameObj = document.createElement('IFRAME');
iFrameObj.src = url;</code>

将加载处理程序添加到 IFRAME:

<code class="javascript">$(iFrameObj).load(function() {
  // handle iframe load
});</code>

访问 IFRAME 内容并销毁它

在加载处理程序中,访问 IFRAME 内容并销毁它:

<code class="javascript">function callback(iFrameObj) {
  // obtain iframe data
  var iframeData = $('body', iFrameObj.contentWindow.document).html();
  // destroy the iframe
  document.body.removeChild(iFrameObj);
}</code>

其他注意事项

  • 如果使用超时删除,请设置适当的延迟以允许 IFRAME 加载。
  • 避免跨站点请求,因为无法访问其内容。
  • 使用 jQuery用于跨浏览器兼容性和显式加载事件。

示例

<code class="javascript">$('#myUniqueID').load(function() {
  if (typeof callback == 'function') {
    callback($('body', this.contentWindow.document).html());
  }
  setTimeout(function () {$('#frameId').remove();}, 50);
});</code>

以上是如何用Javascript实现IFRAME加载完成时的回调?的详细内容。更多信息请关注PHP中文网其他相关文章!

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