Service Worker 不适用于移动 Web(Chrome、Firefox、IE)



我为需要在手机上工作的静态 Web 应用程序设置了一个服务工作线程。我正在为这个应用程序使用 react/webpack2。

当我通过桌面打开应用程序时,Service Worker 会安装并工作得很好,但是当我尝试通过移动设备访问该应用程序时,它不会安装。 当软件完成安装时,它会给你一个警报消息("onInstalled"(;

https://abo-deg.surge.sh(下面是一个示例(

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

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

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

我认为答案很简单。当您在手机上键入abo-deg.surge.sh时,您的服务器不会自动将您传输到https://abo-deg.surge.sh

我能够通过输入完整的URL在Chrome Mobile上运行它 https://

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

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

请记住,您的代码仅适用于这些浏览器,因此不要指望它适用于iOS

最新更新