怎么给子窗口定义全局函数呢
时间: 2023-07-19 07:35:48 浏览: 45
给子窗口定义全局函数可以使用两种方式:
1. 在子窗口的 `<script>` 标签中定义函数
在子窗口的 HTML 文件中添加一个 `<script>` 标签,然后在标签中定义全局函数。
```html
<!DOCTYPE html>
<html>
<head>
<title>子窗口</title>
</head>
<body>
<h1>这是子窗口</h1>
<script>
function childPageChange(param) {
console.log('子窗口触发了 childPageChange 函数,参数为:', param);
}
</script>
</body>
</html>
```
在父窗口中,可以通过 `window.open()` 方法打开子窗口,然后通过子窗口对象调用定义的函数。
```javascript
const childWindow = window.open('child.html');
childWindow.childPageChange('hello world');
```
2. 在子窗口的 `window` 对象上定义函数
在子窗口的 JavaScript 文件中,通过 `window` 对象定义全局函数。
```javascript
window.childPageChange = function(param) {
console.log('子窗口触发了 childPageChange 函数,参数为:', param);
}
```
在父窗口中,可以通过 `window.open()` 方法打开子窗口,然后通过子窗口对象调用定义的函数。
```javascript
const childWindow = window.open('child.html');
childWindow.childPageChange('hello world');
```
以上两种方式都可以在子窗口中定义全局函数,并在父窗口中调用。