下面是我的缓存文件:
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:
*
在谷歌浏览器中(当互联网处于事件状态时),我能够看到上面所有指定的文件都被缓存了。 Google Chrome 能够显示缓存的项目。但是,当我尝试关闭互联网并刷新页面时,chrome 报告以下错误:
Application Cache Error event: Manifest fetch failed (-1) Uncaught ReferenceError: jQuery is not defined (anonymous function) GET http://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 text/cache-manifest manifest
和
AddType text/cache-manifest .manifest
它没有解决问题。当我在网络中断的情况下刷新页面时,离线仍然无法使用。
最佳答案
您应该使所有 Assets 都以相对于基域的/开头,您的文件应该如下所示:
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 - 使我的网站离线的缓存不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20148159/