jquery 点击按钮打开一个窗口,新打开的窗口与按钮所在窗口没有共同父级,怎样点击按钮后关闭之前打开的窗口
时间: 2024-12-10 09:33:33 浏览: 9
jQuery 中可以利用 `window.open()` 函数打开一个新的窗口,但是默认情况下,这个新窗口会有一个独立的父级浏览器标签。如果你想要在一个按钮点击后关闭之前打开的窗口,你可以这样做:
首先,在按钮的 click 事件处理函数中,通过 window.name 属性给每个窗口指定一个唯一的名称,这样我们可以在新窗口加载完成后检查当前窗口的名称。
```javascript
// 定义按钮的click事件
$("#myButton").click(function() {
// 创建新窗口并设置name属性
var newWindow = window.open("", "newWindow", "width=400,height=300");
// 如果新窗口已经存在并且不是第一次打开,关闭它
if (typeof(newWindow) !== "undefined" && !newWindow.closed && newWindow.name === "previousWindow") {
newWindow.close();
} else {
// 否则,给新窗口命名并记住之前的窗口
newWindow.name = "previousWindow";
}
});
```
在这个例子中,如果用户点击按钮打开了一个名为 "previousWindow" 的窗口,并再次点击,那么它将检测到之前已经存在的窗口并关闭它。注意这假设了用户只会在一个浏览器标签页中打开和关闭这些窗口。
阅读全文