服务工作者未在移动Chrome上注册

时间:2017-08-10 15:57:05

标签: javascript android google-chrome push-notification

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

在Chrome for Android上,我甚至无法注册服务工作者。我已经在OnePlus 3和华为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>

弹出第一个警报,以便浏览器支持服务工作者和推送通知。第二个由于某种原因没有在移动铬上弹出,但适用于桌面铬!我错过了什么吗?

代码位于名为test.php

的页面上

谢谢!

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

尝试不要在文件名前使用./,而要简单地使用文件名sw.js。我也遇到了同样的问题,也许this会有所帮助