不同的 Web 浏览器处理 window.close() 函数的方式不同。IE 提示用户进行确认,而 Firefox 和 Safari 只是无法兑现,除非窗口最初是用 Javascript 打开的,并在控制台中显示一条消息。
我支持在我们组织内部使用的第三方 Web 应用程序在类似向导的一系列页面的末尾显示一个“关闭”按钮。这适用于 IE,这是我们大多数用户使用的。但是,这显然在 FF 中失败了。我宁愿保留按钮并使用 Javascript 通过不在任何不会执行 window.close() 的浏览器中显示该按钮来优雅地降级 UI。
根据经验,我会尝试检查浏览器功能,而不是尽可能依赖基于浏览器检测的硬编码策略。有没有办法以编程方式检查对 window.close() 的支持,以便我可以确定是否应该首先显示按钮?