iPhone WebApp缓存

时间:2009-03-31 13:55:14

标签: iphone caching html5

我为iPhone制作了一个简单的Web应用程序,每个只有6页,上面有图像,我使用Cube过渡在它们之间切换,所有静态内容。

我需要在离线iPod Touch上工作,即访问一次,断开WiFi连接,然后才能浏览静态网站。

我正在尝试使用HTML5清单功能执行此操作,但我显然做错了?

我的清单文件:

CACHE MANIFEST
index.html
main.css
main.js
Images/Appointments_Page.png
Images/backgroundStripes.png
Images/button.png
Images/button1.png
Images/button1_clicked.png
Images/button2.png
Images/button2_clicked.png
Images/button3.png
Images/button3_clicked.png
Images/button_clicked.png
Images/CloseIcon.png
Images/CloseIcon_pressed.png
Images/Efficacy_Page.png
Images/EfficacyGraph_Page.png
Images/Graph_Icon.png
Images/GraphIcon.png
Images/GraphIcon_pressed.png
Images/Home_Page.png
Images/Tolerability_Page.png
Images/TolerabilityTable_Page.png
Images/WebClipIcon.png
Parts/ButtonHandler.js
Parts/PushButton.js
Parts/setup.js
Parts/StackLayout.js
Parts/Transitions.css
Parts/Transitions.js
Parts/utilities.js

我的HTML文件顶部

<!DOCTYPE HTML>
<html manifest="cache-manifest">

3 个答案:

答案 0 :(得分:10)

嘿,我想出来了,留下答案,以防它帮助其他人。

我遇到的问题是我们的服务器(IIS6)拒绝提供我的清单文件。

我必须使用“text / cache-manifest”添加MIME类型“.manifest”。

此后它一直在缓存,所有40多个文件的范围从1kb到200kb。

希望这有帮助。

答案 1 :(得分:3)

我还在http://wecreategames.com/blog/?p=210

上写了一些使用Manifest的提示

其他注意事项:您需要重新加载应用程序TWICE以获取清单的新内容,并且您需要更改清单的实际内容以强制重新加载包含的页面(我通过更改注释#v来执行此操作)。 03到#v.04,或类似的东西)。

答案 2 :(得分:3)

作为一个说明:Apple建议:

“声明清单文件的HTML文件.....自动包含在应用程序缓存中。您无需将其添加到清单文件中。”

https://developer.apple.com/library/content/documentation/iPhone/Conceptual/SafariJSDatabaseGuide/OfflineApplicationCache/OfflineApplicationCache.html#//apple_ref/doc/uid/TP40007256-CH7-SW2

因此,将“index.html”排除在清单列表之外会起作用。