首页 > 解决方案 > Angular 9、KeyCloak、ServiceWorker 和 Edge 浏览器

问题描述

我遇到了一个大问题,因为我们的 Angular 应用程序运行良好

在 Safari、Chrome 和 Firefox 上。但在 Edge 上,页面保持空白。当我进入私有浏览器模式时它工作正常,我假设它会忽略 Service Worker。

它首先显示有效的 KeyCloak 登录页面。但登录后它保持空白。控制台没有错误。如果我禁用 angular.json 中的配置

...
"serviceWorker": false,
...

它工作得很好。您对解决此问题的额外配置或步骤有任何提示吗?PWA 有以下版本:

"@angular/pwa": "^0.901.0",

ngsw.config 看起来像这样

{
  "$schema": "./node_modules/@angular/service-worker/config/schema.json",
  "index": "/index.html",
  "assetGroups": [
    {
      "name": "app",
      "installMode": "prefetch",
      "resources": {
        "files": [
          "/favicon.ico",
          "/index.html",
          "/manifest.webmanifest",
          "/*.css",
          "/*.js"
        ]
      }
    }, {
      "name": "assets",
      "installMode": "lazy",
      "updateMode": "prefetch",
      "resources": {
        "files": [
          "/assets/**",
          "/*.(eot|svg|cur|jpg|png|webp|gif|otf|ttf|woff|woff2|ani)"
        ]
      }
    }
  ]
}

标签: angularmicrosoft-edgeangular9angular-service-worker

解决方案


看起来您正在使用 MS Edge 旧版浏览器测试此问题。我建议您尝试使用新的 MS Edge Chromium 浏览器进行测试。我认为你不会在 MS Edge Chromium 浏览器中遇到这个问题。你可以从这里下载。


推荐阅读