在 IFRAME 加载完成时执行回调
使用 IFRAME 时,加载过程完成后执行回调可能是一个关键要求。然而,此任务可能会变得具有挑战性,特别是如果您缺乏对 IFRAME 内容的控制。
要解决此问题,您可以采用涉及修改 IFRAME 创建和合并超时机制的技术。通过以编程方式创建 IFRAME,您可以向其中添加事件侦听器。以下代码演示了如何实现此目的:
$(iFrameObj).load(function() {
document.body.removeChild(iFrameObj);
setTimeout(function() {
callback(iFrameObj.innerHTML);
}, 50);
});
如该代码片段所示,“load”事件侦听器在创建后附加到 IFRAME。加载完成后,IFRAME 将从 DOM 中删除,并引入一个短超时以确保在 IFRAME 不再存在后执行回调。此超时缓冲区会导致浏览器行为中的潜在差异。
值得注意的是,此方法假设 IFRAME 的 URL 在您的域内。如果是跨站点请求,由于浏览器安全措施,访问 IFRAME 内容将受到限制,可能需要其他方法。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3