【发布时间】:2013-11-02 11:37:00
【问题描述】:
我已经与我的网站斗争了一周,现在试图让该网站离线访问,我终于承认失败了。谁能看到我做错了什么?或者给我一些关于我应该测试什么的想法?
我的 index.html 文件开头为:
<!DOCTYPE HTML>
<html manifest="cache.manifest">
<head>
我在同一个文件夹中有一个 .htaccess.txt 文件,上面写着:
AddType text/cache-manifest .manifest
我在同一文件夹中的 cache.manifest 文件说:
CACHE MANIFEST
# version 0.4
# If any of the files you list here isn't available, nothing gets cached.
# The cache limit for Mobile Safari is 10 MB. Only 5MB for Chrome.
CACHE:
/assets/primary.css
/assets/primary.js
/assets/jquery-1.7.1.min
/assets/content/home.html
/assets/images/background_banner.jpg
/assets/images/background_content.jpg
/assets/images/background_content_home.jpg
/assets/images/icon.png
/assets/images/leaves_banner.png
/assets/images/leaves_nav.png
/assets/images/logo.png
/assets/images/startup_landscape.jpg
/assets/images/startup_portrait.jpg
NETWORK:
*
我已经仔细检查了我的缓存文件中的文件没有拼写错误,并且文件大小小于 10 MB。缓存文件以 ANSI 格式保存。
当我连接到互联网时,该网站可以在我的 iPad 上正常加载。但是当我打开飞行模式时,我只会看到横向加载屏幕(index.html 文件中指向的 startup_landscape.jpg 文件)。
我也尝试将文件称为 cache.appcache(尽管我不知道有什么区别)。无论如何,它似乎无法解决问题。
我被困在这里了。任何想法将不胜感激。
更新:10 月 25 日
我尝试使用单个 HTML 页面、一个 CSS 文件和一个(空).JS 文件创建一个更简单的网站。 index.html 文件离线可见,但 .CSS 未应用;所以我认为缓存仍然无法正常工作。
我尝试将图像添加到页面而不是缓存它。该网站仍然在离线模式下工作 - 它只是在图像应该存在的地方显示了一个空框。但是,如果我尝试将图像名称添加到缓存中,我什至无法让 index.html 页面在离线模式下出现 - 我只是得到一个空白屏幕。
【问题讨论】:
-
您确定所有资产都在缓存中吗?
-
我取出了一些资产。我认为它的工作方式是你可以在缓存中列出你的一些资产。我需要在每个页面上列出所有内容吗?
-
鉴于您说其余来自网络,是的,您必须枚举所有静态资产
-
?也许我很密集;但我不明白。这些是网站子文件夹中的文件。我没有指向其他位置的任何内容。我在一个更简单的网站上测试了这个原理,效果很好(见上面的更多信息)
标签: html ipad caching manifest cache-manifest