我正在尝试通过appcache与网站corvallistrails.org.实现离线使用我正在托管缓存的所有图像和资源都很完美,但是当我尝试使用该网站时,来自opencyclemap.org的地图图块无法加载。它们未在.appcache
文件中指定。我在*
下添加了条目http:/*
,https://*
,*.opencyclemap.org/*
,opencyclemap.org/*
和NETWORK:
,但无济于事。我的研究结果没有发现。我只是想强制浏览器每次都通过网络加载地图图块。我在清单中输入了什么样的条目以产生这样的结果?
答案 0 :(得分:0)
NETWORK
部分要求离线可以使用更新的资源(您可以在那里使用*模式)。
CACHE
部分要求资源将被缓存,您必须将所有缓存的资源放在那里并且不能使用*模式,因为浏览器无法解析它必须下载的资源。在那里,您可以将资源设置为另一个域http://tile.example.com/zoom/x/y.png
。
FALLBACK
部分要求在应用程序脱机时必须将资源映射到另一个,您可以只在那里设置自托管资源。
如果你想让地图离线,你必须将所有需要的瓷砖放到CACHE
部分,但是它非常匹配瓷砖并且需要花费很多时间才能下载所有(数千个瓷砖和20-50 Mb用于百万城市)。可能你不能使用localStorage
,因为它的大小很小(5 Mb没有subdomians和iframes hacks)。我使用IndexedDB
和Web SQL
:https://github.com/tbicr/OfflineMap离线进行测试,但没有最佳的存储实施。