iframe里使用 window.addEventListener初次加载不生效
时间: 2023-10-18 22:10:19 浏览: 190
可能是因为 `window` 对象还没有加载完成,所以 `addEventListener` 方法没有生效。你可以尝试在 `window` 对象加载完成后再执行 `addEventListener` 方法。例如:
```javascript
window.onload = function() {
window.addEventListener('message', function(event) {
// 处理消息
});
};
```
这样可以确保 `addEventListener` 在 `window` 对象加载完成后再执行。另外,如果你使用的是 jQuery,可以使用 `$(window).on('load', function() { ... })` 方法来等待 `window` 对象加载完成。
相关问题
window.addEventListener为什么在iframe 自动触发?
window.addEventListener方法用于向窗口添加事件处理程序。在iframe中,当子页面加载完成后,会自动触发父页面的window.addEventListener方法。这是因为iframe是一种内嵌的网页框架,子页面的行为会受到父页面的控制。因此,当子页面加载完成后,父页面可以通过window.addEventListener方法来监听子页面的事件,以便进行相应的处理。需要注意的是,如果子页面和父页面属于不同的域名,由于浏览器的同源策略限制,父页面无法访问子页面的内容,包括监听子页面的事件。
阅读全文