angular - 如何在使用 Internet Explorer 时禁用 Service Worker?

标签 angular internet-explorer service-worker html5-appcache

我正在创建一个 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/

相关文章:

javascript - 在 Angular 6 中显示来自 api 的数据时出现问题

javascript - div比例以保持纵横比

css - * CSS hack 适用于哪些浏览器和版本?

javascript - 将 async/await 与 service worker 一起使用

service-worker - 在一个域中推荐一个顶级 Service Worker 或多个 Service Worker?

angular - 如何使用 Angular 错误处理获取出现在控制台上的 CORS 错误?

angular - 如何使用本地镜像路径以 Angular 显示图像

internet-explorer - 文本溢出 : ellipsis in IE

google-chrome - 是否可以设置 Chrome 显示的通知样式?

javascript - Angular2 Router3通配符和前缀匹配的区别