网站更新缓存
website update cache
如果你有一个在线网站(使用PHP,MySQL,JS,CSS),并说你改变了一些功能。确保当用户访问网站时,更改的页面被更新而不是从缓存加载的最佳方法是什么?
因此有文件加载器。当你加载css, js或任何其他文件时,你必须设置缓存控制头。你可以通过编辑。htaccess或使用php.
。htaccess演示
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault A300
ExpiresByType image/x-icon A2592000
ExpiresByType application/x-javascript A3600
ExpiresByType text/css A3600
ExpiresByType image/gif A604800
ExpiresByType image/png A604800
ExpiresByType image/jpeg A604800
ExpiresByType text/plain A300
ExpiresByType application/x-shockwave-flash A604800
ExpiresByType video/x-flv A604800
ExpiresByType application/pdf A604800
ExpiresByType text/html A300
</IfModule>
PHP演示: $offset = 3600 * 24;
$expire = "Expires: " . gmdate("D, d M Y H:i:s", time() + $offset) . " GMT";
header($expire);
通过HTML,在header部分放置…
<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="-1">
您无法真正控制每个浏览器的策略,如果它符合标准,但通常发生的情况是浏览器在决定是否应该从缓存加载或重新下载之前从每个HTML下载标题。
查看RFC HTTP 1.1报头字段获取更多详细信息(特别是在缓存控制下)
除非您有某种形式的缓存,否则用户将请求数据并检查数据是否已更新。通常你的PHP不会被缓存,除非你有活动缓存。
你的JS和CSS将不得不通过HEADERS说Apache(或任何你使用的web服务器)。
可以使用window.applicationCache.swapCache();和window.location.reload ();一旦javascript确认网站有更新版本,强制重新加载页面。
一个更好的选择可能是以某种方式提示用户,让他们知道网站更新了。这样,页面就不会突然重新加载。
function updateCache(){
window.applicationCache.swapCache();
window.location.reload();
}
window.applicationCache.addEventListener("updateready", updateCache, false);
相关文章:
- 强制浏览器更新缓存的HTML5视频对象
- 通过javascript清除并更新html5应用程序缓存
- 如何在动态表更新后刷新整个表排序缓存
- 如何更新浏览器'使用Ajax将html添加到页面后的缓存
- 通过应用程序缓存仅更新一个文件
- 如何在脱机工作时将数据写入和更新 HTML5 缓存的网页
- 缓存清单更新网页(如果联机)
- Vaadin @Javascript :清除更新的JS文件的缓存
- Cordova应用程序自动同步/更新Web内容(.js文件),如果更新版本可用,否则使用缓存版本
- 更改清单时 Html5 缓存不更新
- 为对事件更新文件的相同调用刷新浏览器缓存
- 使用数据URI快速更新图像会导致缓存、内存泄漏
- windows 8由于Javascript应用程序中的xml缓存而无法更新应用程序数据
- 是否在应用程序缓存清单更新时更新所有文件?或者只是改变了的那些
- 如果正在更新应用程序缓存,请阻止ajax调用
- 缓存某个地方阻止Django 1.6中的更新模板
- 缓存——一次用查询字符串更新多个js文件
- 更新网页时更新网页缓存
- 网站更新缓存
- 应用程序缓存清单-内容在服务器上更新,但客户端不显示更新的内容