M M*_*rsh 29 caching homescreen ipad
我遇到了一个问题,我将一个网络应用程序添加到我的iPad主屏幕(iOS 5.0.1 iPad 2),当我打开它时,它似乎是在幕后缓存一些东西,独立于Safari.
我已经清除了设置(清除历史记录和清除Cookie和数据)中提供的Safari中的所有内容,当我使用Safari导航到Web应用程序时,我看到应用程序处于当前状态.但是,如果我打开主屏幕书签,我会让应用程序处于预先更改状态.
我已经看到很多关于使用cache.manifest来缓存资源以供离线使用的信息,但是我不确定这是否与此相关,因为我想完全相反:什么都不缓存.
我已经达到了甚至没有测试外部资源的程度; 如果我在index.html的body元素中更改了一些任意测试字符串,则主屏幕书签不会显示更新的文本.
Hen*_*rik 24
另一种解决方法是在您的Javascript和CSS链接中添加?v = 1.例如:
<link rel="stylesheet" type="text/css" media="all" href="./css/ipad.css?v=1">
<script src="./js/ipad.js?v=1"></script>
Run Code Online (Sandbox Code Playgroud)
据我所知,当文件发生变化时,似乎没有必要更新数字.显然,在安装了最新软件更新的iPad 2上,仅仅暗示一些动态的东西就足够了.
tho*_*les 11
创建一个cache.manifest指示它永远不会缓存主html页面引用的资源:
CACHE MANIFEST
# Version 1.0000
NETWORK:
*
Run Code Online (Sandbox Code Playgroud)
在你的使用中index.html:
<!DOCTYPE html>
<html manifest="cache.manifest">
Run Code Online (Sandbox Code Playgroud)
现在,每当您更改该清单文件时 - 例如,通过增加该注释中的版本号 - 浏览器也将重新下载index.html.
确保在更新缓存时重新加载页面:
<script>
function updateSite(event) {
window.location.reload();
}
window.applicationCache.addEventListener('updateready', updateSite, false);
</script>
Run Code Online (Sandbox Code Playgroud)
小智 5
我想我找到了一个解决方法:
仅当index.html文件更改时,才会显示该站点的新版本.
(要加载的第一个文件)
如果您离开index.html并且仅更改其他文件中的某些js,则该站点不会加载新版本.
对于我们的iOS网络剪辑应用,我们使用以下内容.到目前为止没有缓存问题:
1-我们有一个名为'manifest.appcache.php'的缓存清单文件
<?php
header("Cache-Control: max-age=0, no-cache, no-store, must-revalidate");
header("Pragma: no-cache");
header("Expires: Thu, 01 Jan 1970 00:00:01 GMT");
header('Content-type: text/cache-manifest');
?>
CACHE MANIFEST
CACHE:
# Don't cache anything
FALLBACK:
# Nothing
NETWORK:
# Request everything from server
*
Run Code Online (Sandbox Code Playgroud)
2 - 在HTML文件中,我们有:
<!DOCTYPE html>
<html lang="en" manifest="manifest.appcache.php">
<head>
...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
27790 次 |
| 最近记录: |