"添加到主屏幕"移动webapp中的HTML5缓存清单似乎不起作用

lau*_*ers 9 html5 caching web-applications manifest mobile-safari

我正在开发一个连接到在线数据库的移动webapp,在离线本地mysqlite数据库中加载来自该数据库的数据,然后可以脱机使用.我得到了整个数据库的工作,但该应用程序仍无法脱机,因为它没有正确缓存所有资源.

我的清单看起来像这样:

CACHE MANIFEST
# Cache manifest version 0.0.5

http://www.mywebsite.com/appfolder/app/detail.html
http://www.mywebsite.com/appfolder/app/index.html
http://www.mywebsite.com/appfolder/app/list.html
http://www.mywebsite.com/appfolder/css/style.css
http://www.mywebsite.com/appfolder/src/iscroll.js
http://www.mywebsite.com/appfolder/js/jquery-1.5.1.min.js
http://www.mywebsite.com/appfolder/thumbs/1872A.jpg
http://www.mywebsite.com/appfolder/thumbs/1913.jpg
http://www.mywebsite.com/appfolder/thumbs/1916.jpg
http://www.mywebsite.com/appfolder/thumbs/1925.jpg
http://www.mywebsite.com/appfolder/carsimages/1872A_1.jpg
http://www.mywebsite.com/appfolder/carsimages/1872A_2.jpg

NETWORK:

# All URLs that start with the following lines
# are whitelisted.

CACHE:

# Additional items to cache.

FALLBACK:
Run Code Online (Sandbox Code Playgroud)

该应用程序在线运行顺畅,但一旦我离线,我收到以下错误消息:"Myappname无法打开,因为它没有连接到互联网"(在"添加到主屏幕" - 在iPad上查看)和"Safari不能打开页面,因为它没有连接到互联网"(在同一台iPad上的safari-view中)

我已采取的步骤:通过将清单添加到我的.htaccess文件,确保清单由正确的内容类型提供服务

AddType text/cache-manifest .manifest
Run Code Online (Sandbox Code Playgroud)

任何想法为什么这不起作用?

小智 14

对于iPad,缓存清单文件必须命名为"cache.manifest".这为我解决了这个问题.


Liz*_*aly 1

如果您要连接到在线资源,我希望在“网络”部分中看到该资源的 URL。应用程序访问的每个 URL 都需要显式或隐式地在清单中列出。

尝试添加:

NETWORK:
*
Run Code Online (Sandbox Code Playgroud)

指示在线时可能会访问任何 URL。