window.open 传数据
时间: 2023-11-18 16:59:04 浏览: 103
window.open()实现post传递参数
可以使用 JavaScript 中的 `postMessage()` 方法来向新打开的窗口传递数据。具体步骤如下:
1. 在父窗口中使用 `window.open()` 打开一个新窗口,并将该窗口保存在一个变量中,例如 `newWindow`。
2. 在父窗口中向新窗口发送消息,使用以下代码:
```
newWindow.postMessage(data, targetOrigin);
```
其中,`data` 是要发送的数据,可以是字符串、数字、对象等;`targetOrigin` 是目标窗口的域名或 IP 地址,用于限制接收消息的窗口。
3. 在新窗口中监听消息,使用以下代码:
```
window.addEventListener('message', receiveMessage, false);
function receiveMessage(event) {
// 在此处处理接收到的数据
console.log(event.data);
}
```
`receiveMessage` 是接收消息的回调函数,`event.data` 包含发送的数据。
需要注意的是,`postMessage()` 方法存在安全风险,因为它可以向任意窗口发送消息,包括跨域窗口。因此,在使用时需要谨慎考虑安全问题,并根据需要进行跨域限制。
阅读全文