- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有一个检查我的 list 状态的页面 oad 事件,如果有变化,它会要求用户重新加载。但是,我正在尝试绑定(bind) <button>
手动检查 noupdate
上是否有状态.我似乎无法让它工作,这是我的代码:
window.addEventListener('load', function(e) {
if (window.applicationCache) {
window.applicationCache.addEventListener('updateready', function(e) {
if (window.applicationCache.status == window.applicationCache.UPDATEREADY) {
// Browser downloaded a new app cache.
// Swap it in and reload the page to get the new hotness.
window.applicationCache.swapCache();
if (confirm('A new version of this App is available. Load it now?')) {
window.location.reload();
}
} else {
// no manifest change..
}
}, false);
// if there is no update, display a message
window.applicationCache.addEventListener('noupdate', function(e) {
alert('App is up to date. ');
}, false);
}
}, false);
// check for a update each hour
setInterval(function () { window.applicationCache.update(); }, 3600000);
我的功能检测noupdate
基本上会在页面加载时顺利触发我的警报,但如果我在绑定(bind)到按钮的函数中使用它......
<a href="javascript:refresh();" data-theme="a" data-role="button"
data-icon="arrow-r" data-inline="true">Refresh</a>
<script>
function refresh() {
if (window.applicationCache) {
window.applicationCache.addEventListener('updateready', function(e) {
if (window.applicationCache.status == window.applicationCache.UPDATEREADY) {
// Browser downloaded a new app cache.
// Swap it in and reload the page to get the new hotness.
window.applicationCache.swapCache();
if (confirm('A new version of this App is available. Load it now?')) {
window.location.reload();
}
} else {
// no manifest change..
}
}, false);
// if there is no update, display a message
window.applicationCache.addEventListener('noupdate', function(e) {
alert('App is up to date. ');
}, false);
}
}
</script>
它没有得到 noupdate 状态...
最佳答案
如果您在窗口加载时绑定(bind)事件监听器,如您的第一个代码块中所示,您需要在刷新函数中做的是:
<script>
function refresh() {
applicationCache.update()
}
</script>
调用 applicationCache.update 后,“updateready”、“noupdate”或“error”事件将被触发。错误事件通常意味着无法下载应用程序缓存 list ,因为服务器无法访问。您可能还希望将监听器绑定(bind)到此事件。
顺便说一句,调用 window.applicationCache.swapCache()
对于您当前使用 appcache 的方式来说不是必需的。仅当您想要更新资源(例如页面上显示的图像)而不重新加载页面本身时才需要 swapCache。 window.location.reload()
足以完全重新加载所有资源,好处是您的所有 javascript 都会被再次评估等等。真正的重启。
关于没有更新的 HTML5 appCache 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14628800/
如果我包含在我的应用程序缓存 list 中: /example.html 这重定向到 https://s3.amazonaws.com/longURL/example.html?dynamicauth
本质上,我希望能够在我的网站上使用应用缓存文件,但仅限于移动设备,以使这些设备能够查看我正在离线开发的网站/网络应用程序,但是台式机/笔记本电脑通常可以访问互联网并且我宁愿这些人按原样查看网站,没有
情况 我正在构建一个网络应用程序,它将离线使用,但在线使用时也会定期更新。我通过添加包含 tstamp 的注释来使 list 服务器端无效,然后在检测到更改后立即通过 JS 自动重新加载页面。到目前为
通过提供 FALLBACK , 我期待 wifi.svg替换为 nowifi.svg当它从缓存中加载时。它没有按预期工作。 这是我的缓存 list 文件。 CACHE MANIFEST # Versi
我们试图弄清楚在前端 Controller 中启用 AppCache 对缓存有什么影响,而无需在响应对象上调用任何缓存指令。 我假设只需添加以下行并将 default_ttl 设置为 1: $kern
Service Worker和AppCache之间的核心区别是什么?每种方式的优缺点是什么,什么时候更喜欢一种方式。 最佳答案 主要区别在于AppCache是一个高级的声明性API,您可以使用它指
对于我的移动应用程序,我想使用 pushState 和 AppCache,但这似乎很棘手。 为了使 pushState 工作,我的网络服务器将每个 url( list 文件本身、图像、css 和 js
我有一个应用程序缓存(带有 NETWORK *)。所以现在我用 访问我的页面.然后页面本身像所有图像一样被缓存。但我希望页面自身不被缓存。我怎样才能做到这一点?我以为NETWORK *会成功的。 问
我的移动网络应用程序的主页是一个 .jsp 页面。我的应用程序需要登录(Google App Engine),因此当用户未登录时有一个登录按钮,当用户登录时有一个注销按钮,所有这些都由 .jsp 页面
我想使用应用缓存来离线查看我的应用,我想将其用作 CACHE MANIFEST CACHE: http://cdn.example.com/s/* NETWORK: * 浏览器有什么方法可以缓存“s”
我有一个检查我的 list 状态的页面 oad 事件,如果有变化,它会要求用户重新加载。但是,我正在尝试绑定(bind) 手动检查 noupdate 上是否有状态.我似乎无法让它工作,这是我的代码:
我正在开发一个 ipad 网络应用程序,它将接收每月的更改。但是我不知道如何让用户决定是否更新缓存。当 ipad 注意到 list 文件发生变化时,它往往会继续进行更新。我想防止这种情况发生,这样还没
在我的项目中,我尝试使用 HTML5 appcache 来缓存 CSS 和 JS 等静态资源,以及图像和视频等“用户特定”文件。当我说用户特定的图像/视频时,我试图为每个用户提供单独的文件,并且我还需
在我正在处理的整个 jQuery 移动网站中,我都有以下列方式引用 url 的 anchor 标记: "/目录/" "/目录/子目录/" 当然是指: “/目录/index.html” “/目录/子目录
我不明白 HTML5 AppCache 的意义。我们已经有了一个普通的缓存。如果您第一次访问网站,它会缓存所有 Assets 。 AppCache 提供了什么额外的值(value)?它只是一个文件列表
编辑:我不得不删除一些链接。 我的 list 页面似乎导致我的网页出现错误。当您第一次访问该页面时,一切似乎都已成功缓存,但刷新后却无法获取存在的文件。 我制作了一个快速测试页面以在此处查看。 这是我
我的应用程序目前正在使用 HTML5 appcache。 我想获取从 update() 事件中获取的文件的哈希值。但是,我似乎无法找到如何访问我下载的资源。 我想做类似的事情 $.get( "/sun
我最近添加了 Meteor appcache 包,因为我收到以下错误消息: ** You are using the appcache package but the total size of th
假设我有一个简单的应用程序缓存 list ,如下所示: CACHE: # v1 # images images/one.jpg images/two.jpg images/three.jpg 然后我使
我有一个使用 media queries based on pixel ratio 的网络应用程序向客户端设备提供适当分辨率的图像。例如,它将向 Windows 桌面传送 1x 图像,向具有视网膜显示
我是一名优秀的程序员,十分优秀!