我们在编写页面过程中,可能会通过 window.open 方法来打开多个子窗口。这样一来,在想关闭窗口的时候只能一个个的关闭所有打开的窗口,太烦了。那么有没有简单的办法,使得在关闭主窗口的时候,将所有附属的子窗口也一起关闭呢?嗯,既然写这篇BLOG了,答案肯定是有了哈。但不一定是很好的方法,只是实现了这个功能而已。其实,也没什么,只是在OPEN打开一个窗口时,使用一个数组记住了它的句柄。
上代码,如下,应该是一下就懂的,呵呵:
<html>
<head>
<title>IE关闭主窗口时,同时关闭所有的子窗口</title>
<SCRIPT language=javascript>
// 声明一个数组来记录所有打开的子窗口
var allChild = new Array();
// 打开三个子窗口,并记录下它们的句柄
var child = window.open("./window_open_test2.html","_blank");
allChild.push(child);
child = window.open("./window_open_test2.html","_blank");
allChild.push(child);
child = window.open("./window_open_test2.html","_blank");
allChild.push(child);
// 关闭自己,同时关闭所有子窗口
function closeAll() {
var tmp;
// undefined 不能加引号,即不可写成 "undefined"
while((tmp = allChild.pop()) != undefined) {
tmp.close();
}
window.close();
}
</SCRIPT>
<head>
<body>
<input type="button" value="close" onclick="closeAll();" />
</body>
</html>
分享到:
相关推荐
由于不同的浏览器对JavaScript的支持程度不同,特别是对于老旧版本的Internet Explorer(IE),可能需要特别处理才能正确关闭子窗口。 - **对于IE6**:可以通过以下方式关闭窗口: ```javascript function ...
以下详细解释了这些方法之间的区别以及如何使用showModalDialog关闭子窗口并刷新主窗口。 一、showModalDialog与showModelessDialog的区别 showModalDialog() 创建的对话框会在被打开后保持输入焦点,直到对话框被...
在上述代码中,`beforeunloadHandler`方法定义了在窗口关闭前触发时执行的逻辑。`mounted`生命周期钩子用于在组件挂载完成后添加事件监听器,而`destroyed`生命周期钩子则用于在组件销毁前移除事件监听器,以避免...
与`showModalDialog`不同,用户可以在子窗口打开的同时继续操作主窗口,只是主窗口会被子窗口遮挡。这适用于需要用户同时关注多个界面的情况,例如查看帮助文档或显示辅助信息。 使用语法与`showModalDialog`相同...
易语言IE保护程序源码,IE保护程序,CheckProcess,Install,Proc_KillerList,Proc_SaferList,LoadSetList,Proc_Form_Main,子程序_主窗口_窗口被关闭,子程序_黑名单添加,子程序_白名单添加,GShellCode_LoadLibrary,...
1. **初始化MFC应用**:创建一个MFC应用程序,包括主窗口类和消息循环。 2. **打开注册表**:使用`CRegKey::Open`方法,指定`HKEY_CURRENT_USER`为根键,然后导航到`Internet Explorer\History`路径。 3. **遍历子键...
- **主窗口与弹出窗口同处一个页面**:虽然通常主窗口和弹出窗口分别位于不同的页面,但通过巧妙设计,可以在同一页面内实现主窗口和弹出窗口的功能。 通过以上分析和示例,我们深入了解了JSP环境下利用`window....
这种设计提高了用户的浏览效率,用户可以在一个程序内管理多个网页,而无需频繁地打开和关闭新窗口。本项目就是一个基于VB开发的多页面浏览器,让用户在一个窗口内浏览多个网页,提升了用户体验。 【基于IE内核】 ...
多窗口同时浏览:选择窗口/垂直平铺 可使你打开的所有浏览窗口平铺在主窗口内,使你一览无遗。 新建窗口: MyIE有4种新建窗口的方法, 新建空白窗口, 新建主页, 新建当前页, 从剪贴板新建。可在MyIE选项中选择...
最后,`value`的值会被设置为主窗口中的输入文本框(testInput)的值,然后关闭弹出窗口。 这个过程的关键在于`window.opener`对象,它引用了创建当前窗口(弹出窗口)的窗口。通过`window.opener.document.all....
- 关闭设置窗口,再次尝试打开之前出现问题的网页。 - 检查网页布局是否恢复正常。 **解决方法二:调整用户代理字符串** 1. **启用开发者工具** - 打开IE浏览器,并访问出现问题的网页。 - 按下键盘上的`F12`...
4. 在弹出的子窗口中,勾选“Cookies”选项。 5. 点击“确定”关闭小窗口,然后再次点击“确定”关闭主窗口。 这样,你就成功地从你的浏览器中删除了Cookies。类似的方法也适用于其他浏览器,例如Firefox、Chrome或...
在探讨如何使用jQuery实现模式窗口来在主页面与子页面间互相传值之前,我们先要了解什么是模式窗口。模式窗口是一种在用户与主页面交互时弹出的覆盖层,它通常用来提供额外的用户界面元素,比如弹出表单、对话框或者...
-增加示例(data/tree_select_run.aspx),如何选中当前节点的所有子节点(feedback:wjl_wjl520)。 +TreeNode的属性NodeId被重命名为NodeID,这是ExtAspNet中的一个命名约定。 -同时更名的还有GridColumn的...
-增加示例(data/tree_select_run.aspx),如何选中当前节点的所有子节点(feedback:wjl_wjl520)。 +TreeNode的属性NodeId被重命名为NodeID,这是ExtAspNet中的一个命名约定。 -同时更名的还有GridColumn的...