当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 用javascript实现始终保持打开同一个子窗口以及关闭父窗口同时自动关闭所有子窗口

Javascript
JavaScript 语言精粹学习笔记
有关div页面拖动、缩放、关闭、遮罩效果代码
JQuery this 和 $(this) 的区别
JS 时间显示效果代码
jquery 表单进行客户端验证demo
JS 获取span标签中的值的代码 支持ie与firefox
JavaScript 获取用户客户端操作系统版本
可以读取EXCEL文件的js代码
JS去除字符串的空格增强版(可以去除中间的空格)
监控用户是否关闭浏览器的js代码
javascript 继承实现方法
JSON 入门指南 想了解json的朋友可以看下
javascript 函数调用规则
动态表格Table类的实现
JSON 客户端和服务器端的格式转换
jQuery ui1.7 dialog只能弹出一次问题
javascript 遍历验证所有文本框的值
关于IE、Firefox、Opera页面呈现异同 写脚本很痛苦
javascript 简练的几个函数
csdn 博客中实现运行代码功能实现

Javascript 中的 用javascript实现始终保持打开同一个子窗口以及关闭父窗口同时自动关闭所有子窗口


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 379 ::
收藏到网摘: n/a

今天在网上看到这篇文章,感觉很少会用到,但毕竟还是有些人需要这样的功能的,否则就不会有这篇文章,这篇文章主要是解决以下问题:
复制代码 代码如下:

1.点击一个可以打开新窗体的链接,如何实现如果窗体已打开,则将焦点转到已打开的窗体,否则打开新窗体。难点:如何判断窗体已打开,及将将打开的窗体Active?
2.如何实现一个主窗体关闭时,将所有 打开的其他相关窗体一起关闭?
实现要点:
1. window.open 会返回新打开窗口的 window 对象。
2. 实现一个模拟的简单 HashMap 存储子窗口的 window 对象。
3. 每次 open 的时候,检索此 HashMap,确定子窗口是否已存在。
4. 若存在则直接切换焦点 (window.focus) 。
5. 若不存在,则 open 一个。
6. 对于4,有可能子窗口已关闭,故采取了点技巧,先调用其 focus (其实可以任意方法),若出错,则也open 一个。
7. 关闭parent 的时候,遍历 HashMap,尝试关闭所有子窗口。
8. 所有操作在父窗口实现。
9. 整个实现原理其实很简单,只要需要熟悉js和dhtml,然后注意细节问题处理。
目前 IE 6 sp1 测试通过,FF 由于不支持 window.focus 故不适合使用。
点击运行可以看到效果:
[Ctrl+A 全选 提示:你可先修改部分代码,再按运行]

打包文件下载