Html 为什么不是';我的缓存webapp是否在第一次尝试时刷新更改?
我正在跟踪并在我的iPad上试用它。教程说: 您可以等待应用程序缓存自动更新,或者使用JavaScript触发更新。仅当清单文件更改时,应用程序缓存才会自动更新。如果清单文件中列出的资源发生更改,它不会自动更新。如果清单文件是逐字节相同的,则认为它没有更改;因此,更改清单文件的修改日期也不会触发更新。如果这对于应用程序来说还不够,那么可以使用JavaScript显式更新应用程序缓存 因此,我一直在尝试并强制更新的内容是更改清单文件中包含版本号的注释。例如,我改变这一行:Html 为什么不是';我的缓存webapp是否在第一次尝试时刷新更改?,html,ios,firefox,caching,web,Html,Ios,Firefox,Caching,Web,我正在跟踪并在我的iPad上试用它。教程说: 您可以等待应用程序缓存自动更新,或者使用JavaScript触发更新。仅当清单文件更改时,应用程序缓存才会自动更新。如果清单文件中列出的资源发生更改,它不会自动更新。如果清单文件是逐字节相同的,则认为它没有更改;因此,更改清单文件的修改日期也不会触发更新。如果这对于应用程序来说还不够,那么可以使用JavaScript显式更新应用程序缓存 因此,我一直在尝试并强制更新的内容是更改清单文件中包含版本号的注释。例如,我改变这一行: # Cache Mani
# Cache Manifest Version: 1.6
我的html标题如下所示:
<!DOCTYPE html>
<html lang="en" manifest="cache.manifest">
<head>
<meta charset="UTF-8"/>
<title>Canvas tutorial</title>
<link rel="stylesheet" type="text/css" href="app.css">
<meta name="viewport" content="width=640; user-scalable=no;"/>
<meta name="apple-mobile-web-app-capable" content="yes"/>
画布教程
我在iPadSafari中获得了一个版本的站点渲染,并将其添加到了我的主页中。如果我做了更改,比如在我的应用程序的html中添加一些文本,那么:
// Check if a new cache is available on page load.
window.addEventListener('load', function(e) {
window.applicationCache.addEventListener('updateready', function(e) {
if (window.applicationCache.status == window.applicationCache.UPDATEREADY) {
// Browser downloaded a new app cache.
if (confirm('A new version of this site is available. Load it?')) {
window.location.reload();
}
} else {
// Manifest didn't changed. Nothing new to server.
}
}, false);
}, false);