Tuesday, February 14

避免IE窗口的双重启动

很多项目中有避免IE窗口的双重启动的需求。
具体而言就是通过一个链接打开的窗口,因为可能已经输入了一部分资料而还没有提交给服务器,如果再此点击同样的连接,不能轻易轻易就将已经打开的窗口替换。另外也要避免未保存就直接关闭窗口的情况。窗口关闭的时候要同服务器交互,通知服务器。下面的几个要点可以避免发生问题。*只在IE6上做了测试
1,使用window.open方法打开新窗口。这个方法的第二个参数是target,如果target的名字一样,不同连接或者相同链接打开的页面会在同一个IE窗口中显示。
2,IE窗口中的页面迁移,更新,提交,窗口的关闭都会触发onbeforeunload这个事件。在这个事件中设置确认消息。如果回答OK,画面才会进行下一步的动作。
3,在关闭确认之后onunload事件会被触发,在这里通过ajax技术同服务器端进行交互。因为IE的bug,onunload事件有可能不会被触发。我们可以通过其他办法避免这个bug。

针对这项技术我可以提供一个sample和通过email的技术支持。 Need Support