我正在爲客戶端開發HTML應用程序。整個應用程序前端由1個HTML文件,1個Javascript文件,1個CSS文件(加上jquery)和一些圖片完成。有幾個PHP腳本坐在服務器上,使用AJAX調用,但只有在互聯網連接可用時。如果沒有連接可用,則該站點將使用本地緩存數據(使用localStorage
)。使HTML5應用程序可脫機使用
爲了使網站可以離線使用,我在我的HTML中聲明瞭緩存清單。我的HTML看起來像這樣:
<!DOCTYPE html>
<html manifest="cache.manifest.php" language="en">
...
</html>
的cache.manifest.php
的輸出是這樣的:
CACHE MANIFEST
#VersionHash: 80b9345e6c39efbbe8431e394b014b4f
CACHE:
/css/ebot.css
/favicon.ico
/images/appicon.png
/images/list-arrow.png
/images/list-checkmark.png
/images/woman.png
/index.html
/js/jquery-1.8.3.min.js
/js/ebot.ls.js
NETWORK:
/emaillog.php
/getdata.php
/uploadlog.php
到目前爲止好。現在,我通過可用的互聯網連接從瀏覽器訪問網站。我收到一條通知,詢問是否允許該網站存儲信息以供離線使用 - 我允許。當我檢查設置時,我發現該網站存儲了316K的數據 - 大概是正確的。
現在我關掉互聯網連接,並嘗試訪問http://www.mysite.com/index.html
- 並得到一個錯誤消息說「Internet連接不可用」(或東西的程度)和不顯示頁面。這發生在我在我的開發機器上測試的3個瀏覽器(firefox,safari和chrome)以及客戶端的ipad上(應用程序最終用於ipad上)。
缺少什麼我在這裏?我究竟做錯了什麼?
沒有答案,但你有沒有遇到過這篇文章? http://www.alistapart.com/articles/application-cache-is-a-douchebag/它討論了使用appcache涉及的許多問題。 –