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

Har*_*Lee 2 javascript caching google-chrome service-worker webpack-2

我为一个需要在手机上工作的静态 Web 应用程序设置了一个 service worker。我正在为此应用程序使用 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 应用程序设置 Service Worker?任何资源、提示或猜测将不胜感激。

Kar*_*cki 5

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

我可以通过使用 https:// 输入完整的 URL 在 Chrome Mobile 上运行它

Service Worker API 仅适用于通过 HTTPS 运行的网站,因为

修改网络请求对中间人开放攻击真的很糟糕 https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API

请记住,您的代码只能在这些浏览器上运行,所以不要指望它在 iOS 上运行