检测动态创建的iframe是否加载完
时间: 2024-09-25 14:09:34 浏览: 34
检测动态创建的`<iframe>`是否加载完成,通常需要借助JavaScript事件监听机制和一些异步操作。以下是一个基本的方法:
1. **使用`window.onload`事件**:如果`iframe`是在页面DOM已经完全加载后再插入的,你可以给`iframe`的`window`对象添加一个`load`事件监听器,当`iframe`的内容区域加载完成时,这个事件会被触发。
```javascript
let iframe = document.createElement('iframe');
iframe.src = 'https://example.com';
iframe.onload = function() {
console.log('Iframe loaded');
};
document.body.appendChild(iframe);
```
2. **使用`addEventListener`**:如果`iframe`是动态创建并立即插入的,可以利用`addEventListener`来监控`load`事件:
```javascript
function isIframeLoaded(iframe) {
return iframe.contentWindow && iframe.contentWindow.document;
}
let iframe = document.createElement('iframe');
iframe.src = 'https://example.com';
iframe.addEventListener('load', function() {
if (isIframeLoaded(this)) {
console.log('Iframe loaded');
}
}, false);
document.body.appendChild(iframe);
```
这里,`isIframeLoaded`函数用于检查`iframe`内容文档是否存在,表示已加载。
**
阅读全文