【发布时间】:2018-09-26 02:38:54
【问题描述】:
我是 PWA 新手并使用 Workbox;所以我有这个具有以下文件结构的测试文件夹,使用 localhost 作为我的服务器 (即 localhost/test)
- index.html
- test.css
- test.jpg
- test.js
-
sw.js(代码如下);
importScripts('https://storage.googleapis.com/workbox-cdn/releases/3.0.0/workbox-sw.js');
if (workbox) { console.log(`Yay! Workbox is loaded ????`); } else { console.log(`Boo! Workbox didn't load ????`); } //precache all the site files workbox.precaching.precacheAndRoute([ { "url": "index.html", "revision": "8e0llff09b765727bf6ae49ccbe60" }, { "url": "test.css", "revision": "1fe106d7b2bedfd2dda77f06479fb676" }, { "url": "test.jpg", "revision": "1afdsoaigyusga6d9a07sd9gsa867dgs" }, { "url": "test.js", "revision": "8asdufosdf89ausdf8ausdfasdf98afd" } ]);
一切正常,文件已预先缓存,当我处于离线模式时,我没有收到此常规离线消息,如下图所示。
所以,我将确切的文件夹复制到 test-2 文件夹,然后将我的 index.html 文件 重命名为 index.php 并在我的 sw .js 文件 我将 url 更新为以下代码
{
"url": "index.php",
"revision": "8e987fasd5727bf6ae49ccbe60"
},
- 请注意我也更改了修订值
我这样做是因为我想使用 Workbox 将 PWA 实现到我自己定制的单页应用程序中(但它是 .php 格式)。
来到我的浏览器运行 localhost/test-2 (正常模式),我的文件也被预缓存了,包括我的 index.php 文件 (我的控制台中没有错误消息,服务人员工作正常);只有我在我的源标签中切换到(离线模式)并刷新我的浏览器来测试离线体验,唉!我收到了这条离线消息,如下图所示:(
我不知道出了什么问题,我不知道发生了什么,我试图用谷歌搜索几天的一些原因,但我似乎没有得到任何正确和相应的答案。大多数教程都带有 .html
所以问题是如何使用 .php 文件实现 PWA,这样当用户离线时,他们不会收到正常的 You're offline Message 而是我的网页应该呈现?
提前致谢
【问题讨论】:
标签: javascript php json service-worker workbox