本文分析JS调用window.close()在不同浏览器及打开方式下的兼容性问题,指出Firefox需修改dom.allow_scripts_to_close_windows配置。同时介绍通过Windows计划任务执行BAT脚本,利用ping延时后强制结束iexplore进程来关闭IE页面的方法。
JS关闭窗口的兼容性问题
1,使用js:
通过不同方式打开页面后调用 window.close() 进行关闭,各浏览器表现存在差异。例如直接在地址栏输入URL时,在Firefox、Chrome和Safari中调用该方法无效;通过Ctrl加点击链接打开的窗口,在Firefox中也无法通过调用 window.close() 关闭。


firefox下无法关闭可能原因:
这并非JS代码 window.close() 本身的问题,而是Firefox浏览器的配置限制。解决方法如下:在Firefox地址栏输入 about:config,在配置列表中找到 dom.allow_scripts_to_close_windows,右键点击该选项并选择切换,将原本的false修改为true即可。注:默认值为false,旨在防止脚本随意关闭窗口。
常用关闭浏览器js代码:
window.opener = null;//为了不出现提示框
window.close();//关闭窗口
BAT脚本关闭IE页面方案
2,bat文件:
explorer.exe open=https://www.jb51.net
Ping -n 80 127.0.0.1>nul
Taskkill /f /im "iexplore.exe"
利用Windows计划任务执行上述BAT文件,定时访问指定页面,并在80秒后关闭IE浏览器。