服务工作者不适用于移动网络(Chrome,Firefox,IE)

时间:2017-07-11 03:11:36

标签: javascript google-chrome caching webpack-2 service-worker

我为需要在手机上工作的静态Web应用程序设置了服务工作者。我正在将react / webpack2用于此应用程序。

当我通过桌面打开应用程序时,Service Worker会安装并运行很多,但是当我尝试通过移动设备访问应用程序时,它不会安装。 当SW完成安装时,它会给你一条警告信息(“onInstalled”);

https://abo-deg.surge.sh(这是一个例子)

https://abo-deg.surge.sh/survey/background

https://github.com/strongharris/sample(位于src内的sw.js,主要入口点:src / index.js,webpack.config)

警报消息通过桌面显示,但不会显示在移动浏览器上。 我错过了什么吗?是否有不同的方法为移动Web应用程序设置服务工作者?任何资源,提示或猜测将不胜感激。

1 个答案:

答案 0 :(得分:4)

我认为答案非常简单。当您在移动设备上键入https://abo-deg.surge.sh时,您的服务器不会自动将您转移到abo-deg.surge.sh

我可以通过输入https://

的完整网址在Chrome Mobile上运行它

服务工作者API仅适用于通过HTTPS运行的网站,因为

  

在中间攻击中修改了对人类开放的网络请求将非常糟糕    https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API

请注意,您的代码仅适用于these browsers,因此请勿在iOS上使用