【问题标题】:Service Worker not working for Mobile Web (Chrome, Firefox, IE)Service Worker 不适用于移动 Web(Chrome、Firefox、IE)
【发布时间】:2017-12-14 22:29:32
【问题描述】:

我为需要在手机上运行的静态 Web 应用程序设置了一个 Service Worker。我正在为这个应用程序使用 react/webpack2。

当我通过桌面打开应用程序时,Service Worker 安装并运行良好,但是当我尝试通过移动设备访问应用程序时,它没有安装。 当 SW 完成安装时,它会给您一条警告消息(“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 应用程序设置服务工作者?任何资源、提示或猜测将不胜感激。

【问题讨论】:

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


    【解决方案1】:

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

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

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

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

    请记住,您的代码只能在 these browsers 上运行,所以不要指望它可以在 iOS 上运行

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-01-27
      • 2012-02-14
      • 2015-05-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多