javascript - 如何确定页面是否已加载
问题描述
我将使用postMessage
方法在打开原点的窗口后立即将文本发送到打开的窗口。我尝试了以下方法:
let ref = window.open("<address>", "name", "resizable,scrollbars,status");
ref.postMessage("Some Message");
在另一个页面上定义了一个监听器来获取发布的消息,但它不起作用,因为发布的消息是在页面加载完成之前发送的。
有什么方法可以检查打开的窗口上的页面是否已完全加载?
解决方案
您可以实现“握手”机制,就像这样,
- parent 添加一个事件监听器来捕获子消息(
window.addEventListener('message', () => {})
) - 父打开子窗口
- 子窗口向父窗口发送“I'm a live”消息(
parent.window.opener.postMessage('ImALive', '<url address of parent>')
) - 父母将其数据发送给孩子
类似的东西。
推荐阅读
- angular - 为什么 Angular input [value] = "function()" 运行多次?
- bash - bash 中的问题
- python - 通过 scapy 读取 pcap 并获取特定值
- sql - 如何在sql中按最新日期获取用户名的最新记录
- angular - 打开组件时触发事件
- encryption - 在RSA加密算法中,如果我们有N个,我们能找到P和Q吗?
- javascript - Nodegit 如何获取新的分支列表?
- c# - 如何在 Unity 插件中访问 UnityEngine
- react-native - 通过水平和垂直性能优化反应原生无限滚动
- mysql - MySQL:选择日期范围中的项目,但如果一个月在数据库中没有任何数据,则返回 0