JS 关闭当前网页
代码示例
带确认对话框
if (confirm("您确定要关闭本页吗?")) {
self.opener = null;
self.open('', '_self');
self.close();
}
不提示直接关闭
self.opener = null;
self.open('', '_self');
self.close();
浏览器兼容性与注意事项
上述代码在不同浏览器中的表现存在差异,主要受限于现代浏览器的安全策略:
- Firefox:默认可能拦截脚本关闭非脚本打开的页面,并提示'不允许脚本关闭非脚本打开的页面'。若需允许该行为,可在地址栏输入
about:config,搜索dom.allow_scripts_to_close_windows并将其值修改为true。 - Chrome:直接调用
window.close()通常无效。代码中self.opener = null; self.open('', '_self');的写法是早期用于绕过此限制的兼容方案。
补充说明:当前主流浏览器(Chrome、Firefox、Edge 等)已全面收紧安全策略。
window.close()仅对通过window.open()脚本创建的窗口有效。对于用户手动打开的标签页,脚本通常无法直接关闭。在实际开发中,建议改为提示用户手动关闭,或提供跳转至其他页面的替代方案。

