我正在创建一个 Angular Web 应用程序,它实现了 AppCache 和 Service Worker。我在我的应用程序上启用了 Service Worker,因此我的应用程序在除 Internet Explorer 之外的所有浏览器上都能正常运行。如果应用程序在 IE 上运行,我需要一种方法来禁用服务工作人员。我正在研究应用程序,检测它正在运行的浏览器,并调用一些代码来禁用服务 worker 或类似的东西。如果有人有这方面的经验,我将不胜感激。
最佳答案
检查浏览器与 Service Worker 兼容性的最常见方法是:
if ('ServiceWorker' in navigator) {
// supported
} else {
// not supported
}
大多数时候,您不需要显式检查当前用户运行的浏览器,因为该测试为您提供了足够的信息。因此,在这种简单的情况下,不要检查 UA。
但值得注意的是,不同版本的 Firefox 和 Chrome 支持不同数量的 Service Worker 功能。这意味着即使测试通过,也有可能尝试执行特定于软件的代码,从而导致浏览器抛出错误,因为当前使用的浏览器版本中尚未实现 API 或其他内容。在这些情况下,需要更仔细地检查浏览器的功能。
关于angular - 如何在使用 Internet Explorer 时禁用 Service Worker?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45848929/