odoo16.com/event : Safari 无法打开页面 FetchEvent.respondWith 收到错误: NotSupportedError: 不支持操作 (WebKitServiceWorker:0)

问题描述 投票:0回答:1

我已经迁移到Odoo16。 使用Firefox、Chrome等浏览器,所有网站页面都可以。

但是使用 Safari,当我进入这个特定页面 https://www.samadeva.com/event 时,我收到此错误:

Safari 无法打开页面 « https://www.samadeva.com/event 错误:。 FetchEvent.respondWith 收到错误:NotSupportedError:不支持该操作..(WebKitServiceWorker:0)

当我打开私有窗口或空缓存时,我成功渲染了页面。 到目前为止,我以为我已经解决了问题...

但过了一段时间,该网站的一些访问者报告说同样的问题再次出现......

我可以使用旧版本的 Safari (15.6) 来调查此问题:

似乎这个与 Safari WebKitServiceWorker 相关的问题也曾在 Angular 中发生过:https://github.com/angular/angular/issues/50378

...这个问题在 Safari 中众所周知:https://developer.apple.com/documentation/safari-release-notes/safari-17_2-release-notes#Service-Workers ... 但到目前为止,每个人都需要为使用 16.3...

的访问者提供解决方法

知道如何在我的odoo16页面的serviceWorker中实现这种类型的解决方法(由@gudvincent for Angular找到)https://www.samadeva.com/event/service-worker.js

 if (navigator.userAgent.includes("Version/17.0") || navigator.userAgent.includes("Version/17.1")) {
  navigator.serviceWorker.getRegistrations().then(function (registrations) {
    for (let registration of registrations) {
      registration.unregister();
    }
  });
}

 ServiceWorkerModule.register('ngsw-worker.js', {
   enabled:
     !navigator.userAgent.toUpperCase().includes("LIKE MAC")
       ? true
       : ((navigator.userAgent.includes("Version/17.0") || navigator.userAgent.includes("Version/17.1")) ?
         false : true)
 })

我尝试在 odoo16 中使用我的网站的 head 标签注入这个 js 解决方法:编辑器 > 修改 > 主题 > head ...:

 if (navigator.userAgent.includes("Version/17.0") || navigator.userAgent.includes("Version/17.1")) {
  navigator.serviceWorker.getRegistrations().then(function (registrations) {
    for (let registration of registrations) {
      registration.unregister();
    }
  });
}

它在第一次调用时有效,但是当单击另一个页面时,错误再次附加。看来 serviceWorker 会自动重新注册。也许 eventListerner 在这里会很有用(即使注册成功并且已激活,服务工作者激活和推送事件也不会被触发)?

safari service-worker odoo-16
1个回答
0
投票

我发现的唯一解决方法是卸载官方 Odoo SA 模块

website_event_track
,因为它包含文件
service-worker.js
,这会触发 16.3

中的错误

... 我希望 Odoo S.A 能够尽快解决这个问题...他们对我的请求单的答复: <>

© www.soinside.com 2019 - 2024. All rights reserved.