缓存以使我的网站离线是't工作

Caching to make my website offline isn't working

本文关键字:工作 离线 我的 网站 缓存      更新时间:2023-09-26

下面是我的缓存文件:

CACHE MANIFEST
# 2013-11-22 14:38:54735779
CACHE:
../../../../assets/img/background_01.jpg
../../../../assets/img/background_02.jpg
../../../../assets/img/background_03.jpg
../../../../assets/img/datepicker_icon.png
../../../../assets/js/jquery-1.10.2.min.js
../../../../assets/js/jquery-ui-1.10.0.custom.min.js
../../../../assets/js/bootstrap.min.js
../../../../offline/offline.js
../../../../offline/offline_external.js
NETWORK:
*

在谷歌浏览器中(当互联网处于活动状态时),我可以看到上面指定的所有文件都被缓存了。谷歌浏览器能够显示缓存的项目。然而,当我尝试关闭互联网并刷新页面时,chrome会报告以下错误:

应用程序缓存错误事件:获取清单失败(-1)未捕获ReferenceError:jQuery未定义(匿名函数)GEThttp://mywebsite.com/app/assets/js/jquery-1.10.2.min.js

Jquery的路径是正确的,我不能责怪它,因为我可以单击链接,它会将我导航到服务器中的正确位置。

有人能告诉我哪里出错了吗?

我在本地服务器上尝试了同样的设置,它运行正常。

我的.htaccess设置是这样的:

AddType text/cache-manifest manifest
AddType application/octet-stream csv
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} ^([^'.]+)'.myswebsite'.com$ [NC]

请注意,我已经尝试过

AddType文本/缓存清单清单

AddType文本/缓存清单。清单

这并不能解决问题。当我在互联网关闭时刷新页面时,离线仍然不起作用。

您应该使所有资产以/相对于基域开始,您的文件应该如下所示:

CACHE MANIFEST
# 2013-11-22 14:38:54735779
CACHE:
/assets/img/background_01.jpg
/assets/img/background_02.jpg
/assets/img/background_03.jpg
/assets/img/datepicker_icon.png
/assets/js/jquery-1.10.2.min.js
/assets/js/jquery-ui-1.10.0.custom.min.js
/assets/js/bootstrap.min.js
/offline/offline.js
/offline/offline_external.js
NETWORK:
*

不确定你是否找到了这个问题的解决方案,但我也遇到了同样的问题。事实证明,我试图在加载javascript资源之前访问它。

我通过确保javascript资源的访问低于页面上对javascript文件的引用来解决这个问题,并且我还将其封装在"$(document).ready(function(){})"调用中。

$(document).ready(function () {
  // access the resource here..
})

这似乎解决了我的问题。我不太清楚为什么页面在在线模式下更"宽容"。