javascript - Service Worker 未在移动版 Chrome 上注册

标签 javascript android google-chrome push-notification

我想在桌面和移动设备上为我的域实现推送通知。在桌面上,一切都按预期工作,我能够将推送从我的服务器发送到测试设备。

在 Android 版 Chrome 上,我什至无法注册服务 worker 。我已经在 OnePlus 3 和 Huawei Mate 9 上测试了以下代码,这些都是最新且功能强大的设备,我实际上收到了关于它们的网络通知。

这是我使用的代码:

<script type="text/javascript">
if('serviceWorker' in navigator && 'PushManager' in window) {
    alert('best');
    window.addEventListener('load', function() {
       navigator.serviceWorker.register('/sw.js').then(function(registration) {
          alert('test');
       });
    });
}
</script>

第一个警报弹出,因此浏览器支持服务 worker 和推送通知。由于某种原因,第二个不会在移动 chrome 上弹出,但可以在桌面 chrome 上运行!我错过了什么吗?

代码位于名为 test.php 的页面上

谢谢!

最佳答案

更改“./sw.js”。因为如果您不使用点,则表示位于服务器的根目录中

关于javascript - Service Worker 未在移动版 Chrome 上注册,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45618397/

相关文章:

javascript - 按最大值获取数组索引?

android - 将 CheckedTextViews 的 ListView 与过滤器一起使用

java - android studio 无法在 ImageView 中显示图像

android - 上传失败 : Your Instant App APKs should contain at least one base APK

JavaScript 只能在 Chrome 浏览器中运行,不能在 Firefox 中运行

javascript - Xamarin 本地加载 JS 脚本

javascript - 使用 javascript 操作 html 字符串变量

javascript - 有没有办法通过网页/JavaScript 检查是否安装了谷歌浏览器(和默认浏览器),而无需在客户端安装任何东西?

javascript - 用户向下滚动 x 量后侧边栏移动

javascript - 在 Firebase 上部署网站后,脚本不会更改。同样的错误仍然存​​在