如何修复Service Worker安装错误

我们希望您的PushEngage WordPress安装过程能够一帆风顺,但您仍然可能遇到问题。Service Worker是收集推送订阅者和发送推送广告系列的关键文件。

我们整理了一份指南,其中包含PushEngage安装过程中与Service Worker文件相关的各种常见问题以及如何解决这些问题。

开始之前

  • 您应该避免重定向; the service-worker.js 文件应公开可访问(https://www.mywebsite.com/service-worker.js)。如果您在尝试访问service-worker.js文件时遇到任何重定向,则表示您的安装不正确,订阅也将失败。
  • 如果您在尝试订阅您的网站后看到403或404错误,则表示某些内容阻止了PushEngage Service Worker文件被公开访问。您可以通过访问PushEngage仪表板或浏览器控制台来检查这一点。这些文件必须全部大写,而不是重定向。这些页面应该可以毫无问题地访问。
  • 如果您将PushEngage集成到已具有Service Worker的网站(例如PWA)中,则有必要合并Service Worker,以便PushEngage能够正常运行。本指南可帮助您将PushEngage Service Worker与您网站上现有的Service Worker合并。

Service Worker问题及其修复方法

错误 1: Service Worker文件URL不正确

TypeError: 无法为范围(https://xxxx)和脚本(https://www)注册ServiceWorker。获取脚本时收到错误的HTTP响应代码(404)。

解决方案: 通过导航到网站设置 » 高级设置 » Service Worker设置,验证Service Worker文件名和位置是否与您的PushEngage仪表板中的值匹配

错误 2: 浏览器没有读取Service Worker文件的权限

TypeError: 无法为范围('https://xxx)注册ServiceWorker') 和脚本('https://xxxx'): 获取脚本时收到错误的HTTP响应代码(403)。

解决方案: 与网络托管服务提供商检查Web服务器配置,以确保配置允许对Service Worker文件的读取访问,并且该文件可从Internet公开访问。

PushEngage团队无法帮助您更改权限,只有您的托管公司或开发团队才能帮助您修复这些权限。

错误 3: 执行“importScripts”失败

Uncaught DOMException: 执行“importScripts”时出错(在“WorkerGlobalScope”上)。脚本(https://xxxxxx)在(https://www)处加载失败。

解决方案: 服务工作线程文件在服务工作线程文件内的importScripts (https://xxxx.pushengage.com) 语句中使用了不正确的子域名称。 因此,请确保 importScript 语句使用了分配给该站点的正确 PushEngage 子域。

服务工作线程 URL 中的域查询参数值不正确。这仅适用于使用 WordPress 插件的站点。

错误 4: 未能注册服务工作线程

DOMException:未能为作用域(https://www)注册服务工作线程,脚本为(https://xxxxxxxx)。提供的作用域('xxx')的路径不在允许的最大作用域('xxxxxxx')之下。调整作用域,移动服务工作线程脚本,或使用 Service-Worker-Allowed HTTP 标头允许该作用域。

解决方案: 将服务工作线程文件移动到根目录,并通过此指南更新服务工作线程路径。
完成此操作后,为服务工作线程文件的请求设置 HTTP 标头 Service-Worker-Allowed 的值为‘/’

如果您遇到任何问题,请 联系我们 。我们的支持团队将能够帮助您。

仍然卡住了?我们能帮您什么?
最后更新于 2026 年 3 月 9 日

在访客离开您的网站后与他们互动并挽留他们

通过难以忽略的推送通知,增加每次网站访问的价值。

  • 永久免费套餐
  • 轻松设置
  • 五星支持