Html 缓存清单,缓存目录中的所有文件
我正在尝试为iphone构建一个web应用程序,但我不明白Html 缓存清单,缓存目录中的所有文件,html,Html,我正在尝试为iphone构建一个web应用程序,但我不明白 如何缓存“images”目录下的所有文件 我在服务器上修改了一个文件,比如“brandDB.txt”,如何让缓存清单更新这个文件,而这个文件只是为了避免再次下载所有内容 谢谢 CACHE MANIFEST # 20131104-1430 index.html brandDB.txt icon.png splashiphone.png touch-icon-iphone.png css/style.css images/shareic
- 如何缓存“images”目录下的所有文件
- 我在服务器上修改了一个文件,比如“brandDB.txt”,如何让缓存清单更新这个文件,而这个文件只是为了避免再次下载所有内容
CACHE MANIFEST
# 20131104-1430
index.html
brandDB.txt
icon.png
splashiphone.png
touch-icon-iphone.png
css/style.css
images/shareicon.png
images/bourez.png
images/john.png
...
NETWORK:
*
FALLBACK:
如何缓存“images”目录下的所有文件
在清单文件中列出它们(如果有很多文件,则最容易使用脚本生成列表)
如何使缓存清单更新此文件,并且仅更新此文件以避免再次下载所有内容
brandDB.txt?v=1
-但是,如果这样做,请确保更新应用程序中的引用
如何缓存“images”目录下的所有文件
在清单文件中列出它们(如果有很多文件,则最容易使用脚本生成列表)
如何使缓存清单更新此文件,并且仅更新此文件以避免再次下载所有内容
如果您已将每个文件的标题设置为允许缓存,则浏览器将从其自己的缓存填充应用缓存。如果要在不使用HTTP头的情况下对文件进行版本控制,请在文件末尾添加一个查询字符串,例如,
brandDB.txt?v=1
-但是,如果这样做,请确保更新应用程序中的引用。好吧,很遗憾,我要说的是,正如Jake Archibald所说:
“应用程序缓存是一个垃圾袋!”(关于它如何工作的好文章(实际上不是垃圾袋))
基本上,您可以创建一个脚本来列出映像目录中的所有文件
并将其粘贴到生成的AppCache文件中
应用程序缓存仅在其文件内容更改时更新,您还需要确保文件本身未被缓存
我想你需要你的客户重新加载页面两次,这样他们才能真正看到更新。(不过,您可以使用javascript告诉用户页面已更新,他们需要刷新)好吧,我要说的是,不幸的是,正如Jake Archibald所说: “应用程序缓存是一个垃圾袋!”(关于它如何工作的好文章(实际上不是垃圾袋)) 基本上,您可以创建一个脚本来列出映像目录中的所有文件 并将其粘贴到生成的AppCache文件中 应用程序缓存仅在其文件内容更改时更新,您还需要确保文件本身未被缓存
我想你需要你的客户重新加载页面两次,这样他们才能真正看到更新。(但是,您可以使用javascript告诉用户页面已更新,他们需要刷新)我编写了一个程序,可以直接从Windows资源管理器轻松生成包含完整列表的缓存清单文件,如果需要,请执行以下操作:如果需要,我执行了一个程序,以便直接从Windows资源管理器生成包含完整列表的缓存清单文件:谢谢。。。我将使用命令行生成缓存清单:
echo“cache manifest”>cache.manifest;找到-键入f | sed“s#^\/###”| grep-vi“ds|u store”| grep-vi“~”>>cache.manifest;printf“\n网络:\n*\n\n回调:\n\n”>>cache.manifest和cat cache.manifest
我不确定我是否理解您对问题2的回答,我只有一个html文件,其他文件是js、图像、css等。@Louis您不理解哪一位?第一点:通过http头,我猜您指的是这种类型的东西
,但是我不想以给定的频率刷新brandDB.txt
,我想在服务器上(由我)对其进行更改时刷新它。2.我知道如果我修改清单文件,客户端将看到它并重新加载文件,但我只希望重新加载修改后的文件,而不是所有文件。3.“设置每个文件的标题以允许缓存。”我只有一个html文件:index.html
其余的是图像、css、js等@Louis 1。不,我指的是请求的头,meta-httpequiv
对于本地磁盘驱动器上的文件以外的任何东西基本上都没有意义;我知道您不希望以给定的频率刷新,但浏览器将在HTTP头确定的时间后重新请求。2.然后你必须,或者像我上面描述的那样使用版本控制;3.它们都是文件,都有HTTP头谢谢。。。我将使用命令行生成缓存清单:echo“cache manifest”>cache.manifest;找到-键入f | sed“s#^\/###”| grep-vi“ds|u store”| grep-vi“~”>>cache.manifest;printf“\n网络:\n*\n\n回调:\n\n”>>cache.manifest和cat cache.manifest
我不确定我是否理解您对问题2的回答,我只有一个html文件,其他文件是js、图像、css等。@Louis您不理解哪一位?第一点:通过http头,我猜您指的是这种类型的东西
,但是我不想以给定的频率刷新brandDB.txt
,我想在服务器上(由我)对其进行更改时刷新它。2.我知道如果我修改清单文件,客户端将看到它并重新加载文件,但我只希望重新加载修改后的文件,而不是所有文件。3.“设置每个文件的标题以允许缓存。”我只有一个html文件:index.html
其余的是图像、css、js等@Louis 1。不,我指的是请求上的标题