我有一个带有相关appcache清单的HTML文档.但现在我想摆脱离线应用程序缓存一段时间.
如果我从<html>标记中删除提示清单,那么已经拥有缓存版本的浏览器将继续使用该缓存版本.
如果我更新appcache清单,那么,无论如何,仍然有一个appcache.
删除脱机应用程序缓存的最明智的方法是什么?我想我可以更改清单,除了以下内容之外没有其他条目:
NETWORK:
*
Run Code Online (Sandbox Code Playgroud)
然后它实际上不会缓存任何东西.
但肯定有一种方法可以完全摆脱appcache和清单文件,不是吗?
html5 offline-caching manifest.cache cache-manifest html5-appcache
更新:
**当这个功能真的很新时我发布了这个问题,我现在意识到这个功能不应该以这种方式使用,除非它是通过JavaScript使用的.但对于大多数犯错误和滥用此功能的初学者而言,这种黑客攻击似乎是一个很好的解决方案.如果你想要缓存除HTML以外的所有内容,这应该用JS完成,或者你可以使用下面的解决方案**
我想我的问题归结为:如果使用HTML标记的manifest属性引用清单的文件属于MASTER CACHE ENTRIES,那么如何使用清单来动态页面.
我的文件看起来像这样:
CACHE MANIFEST
CACHE:
# IMAGES:
/stylesheets/bg.jpg
/stylesheets/cont_bg.png
#and so forth..
#EXTERNAL
http://chat.mydomain.com/themes/images/panel_bg.png
http://chat.mydomain.com/themes/images/images_core.png
####################################
#STYLE SHEETS:
/stylesheets/min.css
/stylesheets/css_night.aspx
#####################################
#JAVASCRIPT:
/JAVASCRIPT/header_javascript.js
#EXTERNAL:
http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.9/jquery-ui.min.js
http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js
FALLBACK:
/ /offline.php
NETWORK:
*
Run Code Online (Sandbox Code Playgroud)
现在的问题是,一旦我浏览不在清单中的页面,我的实际动态php文件,如index.php,当我第一次看到页面时,没有缓存chrome就是:
Adding master entry to Application Cache with manifest http://208.109.248.197/manifest.appcache
Application Cache Downloading event
Application Cache Progress event (0 of 28)
...
Application Cache Progress event (28 of 28)
Application Cache NoUpdate event
Run Code Online (Sandbox Code Playgroud)
到目前为止,在我实际加载页面之前一直很好,并且chrome会:
Application Cache UpdateReady event
Adding master entry to Application Cache with …Run Code Online (Sandbox Code Playgroud) 我已经和Appcache合作了很长一段时间,但最近我花了几周的时间来开发一个不同的项目.当我回到我的离线项目时,每次尝试下载清单的内容时都会出现此错误:应用程序缓存错误事件:清单提取失败(9)此后是2个地址; 调用清单的页面的文件和行号(在同一行的右侧),以及清单本身的相对URL(在第二行).单个资源的下载不会开始.
现在,其他人都在为这个项目工作,但我是唯一一个触及任何离线气味的人.该问题似乎与我的任何常见嫌疑人无关,例如清单中的语法错误(尝试清除所有文件,只是为了确定),清单被错误地提供,或者其中一个文件有问题被缓存.我不认为这是一个内存问题,因为我有超过30 gig的空间超出我正在缓存的文件的大小.此外,这在两周前工作,所以我假设我的设置没有问题.但是,似乎没有人知道这个错误到底是什么; 似乎没有人得到这个错误.我在网上找不到任何描述这个问题的东西.因此,我的问题是:
Manifest fetch Failed(9)是什么意思?
我的浏览器是Windows 7上的Chrome,并且是最新的.
google-chrome application-cache cache-manifest html5-appcache
我一直在寻找一种方法来缓存页面,仅在用户离线时使用,否则正常下载页面.但是,一旦检测到缓存清单,浏览器将仅从这些缓存页面加载.
我的搜索让我登陆http://whatwg.org.关于编写缓存清单的部分引起了我的注意.这是一段摘录:
部分标题
节标题会更改当前节.有四种可能的节标题:
Run Code Online (Sandbox Code Playgroud)CACHE: Switches to the explicit section. FALLBACK: Switches to the fallback section. NETWORK: Switches to the online whitelist section. SETTINGS: Switches to the settings section.
前三个是众所周知的,但我没有听说过最后一个标题,SETTINGS:.文件继续这样说:
目前只定义了一个设置:
缓存模式设置
这包含字符串"
prefer-online".它将缓存模式设置为prefer-online.(缓存模式默认为快速.)
这让我想知道这个prefer-online设置是不是我想要的.我希望这个设置会告诉浏览器它应该只在设置设置时加载缓存页面fast,否则如果用户在线则下载页面.
不幸的是,我找不到任何关于此的其他信息或解释.有没有人遇到有关prefer-online设置的任何信息?或者关于SETTINGS:一般的部分?
我正在开发一个基于Web的应用程序,该应用程序可能会在Internet连接不稳定的环境中使用.我将它实现为HTML5离线应用程序,它将利用HTML5本地存储(实际上是jQuery插件jStorage).它是一个数据输入驱动的应用程序,因此在脱机时创建的所有新条目都保存在本地存储中,并在以后重新建立Internet连接时与服务器同步.我几乎已经开始工作,但现在我面临着一个要求,即用户实际上需要上传图像以及数据输入提交.
我找到了这个HTML5 API规范 - http://www.w3.org/TR/file-upload/,它讨论了文件上传和离线访问.在我深入研究之前 - 是否有任何关于此功能的包装器可以简化这一点?
我也刚刚发现这篇文章 - http://hacks.mozilla.org/2010/02/an-html5-offline-image-editor-and-uploader-application/,它利用了一个公开的TwitPic API,我想得到一些来自这里的人的专业反馈.
谢谢!
我一直在玩缓存清单文件并尝试让它停止缓存它声明的页面.
用户导航到的包含清单的任何页面都将隐式添加到应用程序缓存中
高手.我希望清单文件缓存特定的工件,其中一个是我的在线单页应用程序HTML的离线版本,但不是缓存在线版本.
经过多篇文章后,我仍然不清楚Local Storage和App Cache Manifest之间的区别.
另请参阅:AppCache = Application Cache = Web Storage的LocalStorage吗?(SO 10986026),应用程序缓存是一个Douchebag(A List Apart)
我的目标是建立一个网站,根据用户需求,允许用户离线访问特定页面.
遵循的步骤:
我在Chrome上开了一个网站:http://www.spritecow.com/
并检查了AppCache:chrome:// appcache-internals/
并且该网站已被缓存.
我关闭了Chrome并重新加载了它.缓存仍在那里.我正是离线浏览所需要的
现在这与本地存储有什么不同?试图找到差异,但所有网站都有目的地回答,即模板缓存的AppCache和模板内容的本地存储.
某些站点不喜欢AppCache,因为它会为单行更改重新加载整个缓存.某些网站只选择本地存储.有些人会选择AppCache(模板)和Localstorage的组合.
现在的疑问是:
客户端计算机上的本地存储.如果即使浏览器关闭我仍然可以访问它,AppCache存储是如何不同的.
由于清除缓存将清除AppCache然后我只去本地存储.
离线浏览的最佳做法是什么?我对此完全陌生,需要一点清晰
链接没有回答这个疑问(是AppCache = Application Cache = Web Storage的LocalStorage吗?),因为这给出了差异,但不是基于离线浏览实践的目的(这是这个疑问的目的).
javascript html5 local-storage cache-manifest html5-appcache
我正在使用AppCache以启用Web应用程序的离线访问.问题是,每次我对JavaScript进行更改时,我都需要对清单进行更改(以便触发重新下载缓存字段).现在我知道在FireFox中您可以禁用AppCache(事实上,当您第一次访问该页面时会提示您是否授予网站本地存储数据的权限),这使得开发更方便.
我的问题是铬和野生动物园有类似的选择吗?我知道我可以通过chrome:// appcache-internals /查看/编辑Chrome中的AppCache,我正在寻找的是一种禁用它的方法.
谢谢
我有一个示例,它在Chrome上缓存并在离线状态下显示视频.
当我尝试使用Android 3.2和4.x平板电脑的这个例子时,视频只能在线播放,但不能离线 - 尽管其他元素如HTML文件和背景都在线下.
<!DOCTYPE html>
<html manifest="example.appcache">
<head>
<title>Hello Video!</title>
<style>
body{ background: url('background.jpg');}
</style>
</head>
<body>
<video width="855" height="480" controls="">
<source src="railer.mp4"/>
</video>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
缓存清单example.appcache看起来像:
CACHE MANIFEST
index.html
railer.mp4
background.jpg
NETWORK:
*
Run Code Online (Sandbox Code Playgroud)
有没有人设法通过缓存清单为Android浏览器设置离线视频缓存?
我有一个HTML5应用程序,它使用缓存清单来提供脱机功能.此应用程序在联机时进行ajax调用,其中一些调用可以获得403未经授权的响应.
这是我的cache.manifest文件的底部:
NETWORK:
*
FALLBACK:
/ /offline
Run Code Online (Sandbox Code Playgroud)
如果我删除了回退部分,所有接收403响应的ajax调用都按预期工作,我可以使用jQuery错误处理程序检测到这一点并将用户重定向到登录表单.
但是如果存在回退部分,则相同的调用获得200 OK响应,并将回退HTML的内容作为正文,即使服务器回复了403,因此我无法知道用户未经过身份验证,必须发送到登录页面.
我在这里错过了什么吗?提前致谢
cache-manifest ×10
html5 ×8
offline ×3
manifest ×2
ajax ×1
android ×1
file-upload ×1
html ×1
javascript ×1
jquery ×1
safari ×1
video ×1