window.open 和 window.opener 的详细解说
时间: 2023-11-18 21:03:21 浏览: 45
`window.open` 和 `window.opener` 是 JavaScript 中的两个常用的窗口操作方法和属性。
`window.open` 方法可以在新窗口或者标签页中打开一个指定的 URL。该方法的语法如下:
```javascript
window.open(url, windowName, [windowFeatures]);
```
其中,`url` 必选,表示要打开的 URL;`windowName` 可选,表示新窗口或标签页的名称;`windowFeatures` 可选,表示新窗口或标签页的特性,比如大小、位置、是否有工具栏等。该参数的格式为一个字符串,不同的特性之间用逗号隔开。
`window.opener` 属性表示打开当前窗口或标签页的窗口或标签页的 `window` 对象,它只有在当前窗口或标签页被其他窗口或标签页打开时才有值。可以通过该属性来实现窗口之间的通信,比如在子窗口中调用父窗口的函数或访问父窗口的变量。
需要注意的是,由于安全原因,浏览器禁止跨域访问其他窗口或标签页的内容。因此,如果要在两个不同域名的窗口或标签页之间通信,需要使用 postMessage 方法。
相关问题
window.location.href和window.opener.location.href
window.location.href和window.opener.location.href都是用于获取或设置当前页面的URL。
window.location.href是获取或设置当前页面的URL。可以通过将一个新的URL赋值给window.location.href来导航到该URL。例如,可以使用window.location.href = "https://www.example.com"将当前页面导航到https://www.example.com。
window.opener.location.href是获取或设置打开当前页面的父页面的URL。它在使用window.open()方法打开一个新窗口后才有值。可以通过将一个新的URL赋值给window.opener.location.href来导航到父页面的URL。例如,可以使用window.opener.location.href = "https://www.parentpage.com"将父页面导航到https://www.parentpage.com。
需要注意的是,window.opener.location.href只能在通过window.open()方法打开的新窗口中使用,而不能在同一窗口或不是通过window.open()方法打开的窗口中使用。而window.location.href可以在任何窗口中使用。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [window.location.href的用法(动态输出跳转)](https://blog.csdn.net/weixin_31690531/article/details/115238595)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
window.opener和window.parent
`window.opener` 和 `window.parent` 都是 JavaScript 中的 window 对象的属性。
- `window.opener` 属性引用打开当前窗口的窗口(即父窗口)的 window 对象。如果当前窗口是由其他窗口通过 JavaScript 打开的,则该属性返回该窗口的 window 对象。如果当前窗口不是由其他窗口打开的(例如,用户直接在浏览器中打开了窗口),则该属性返回 null。
- `window.parent` 属性引用当前窗口的父窗口的 window 对象。如果当前窗口没有父窗口(例如,当前窗口是顶级窗口),则该属性返回当前窗口的 window 对象。
通常情况下,`window.opener` 和 `window.parent` 属性主要用于在子窗口和父窗口之间进行通信和交互,例如在子窗口中调用父窗口的函数或者在父窗口中访问子窗口的 DOM 元素。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)