window.parent.postMessage的具体代码怎么写
时间: 2024-01-20 19:10:04 浏览: 28
`window.parent.postMessage` 方法用于向父级窗口发送消息,其语法如下:
```javascript
window.parent.postMessage(message, targetOrigin, [transfer]);
```
- `message`:要发送的消息。可以是字符串,也可以是对象。
- `targetOrigin`:目标窗口的源,可以是字符串 "*" 表示不限制域名。如果不是 "*",则必须与目标窗口的源一致才能发送成功。
- `transfer`:可选参数,可以是一个数组,包含要传递的 `Transferable` 对象(例如 `Blob` 和 `File`)。
下面是一个示例代码:
```javascript
var message = { type: 'hello', data: 'world' };
var targetOrigin = 'https://example.com';
window.parent.postMessage(message, targetOrigin);
```
这段代码会向父级窗口发送一个包含 `{ type: 'hello', data: 'world' }` 的对象,目标窗口的源必须是 `https://example.com` 才能接收到该消息。如果要传递 `Blob` 或 `File` 对象,可以将它们放入一个数组中:
```javascript
var file = new File(['Hello, world!'], 'hello.txt', { type: 'text/plain' });
var message = { type: 'file', data: file };
var targetOrigin = 'https://example.com';
window.parent.postMessage(message, targetOrigin, [file]);
```
这段代码会向父级窗口发送一个包含 `{ type: 'file', data: file }` 的对象,其中 `file` 是一个 `File` 对象,目标窗口的源必须是 `https://example.com` 才能接收到该消息,同时 `file` 对象也会被传递给目标窗口。