缓存在flash页面中工作的方式

时间:2011-11-15 18:05:00

标签: flash actionscript-3

每次我在我的Flash页面上发布新内容时,之前打开该页面的计算机(包含旧内容)仍保留相同的旧内容,直到删除其历史记录,或者使用SHIFT +重新加载刷新页面。

如何构建I页面以免发生这种情况?

非常感谢。

salu2

2 个答案:

答案 0 :(得分:4)

有几种方法可以确保您的文件不会从用户的缓存中获取。您可以通过设置过期日期从PH执行此操作,但也可以从ActionScript执行此操作。

最简单的方法是在“?”之后向文件url添加一些字符串。标记为例如:

http://path.to.my.file/file.swf?cacheBuster=123092183120

它将确保url不同,因此它不会从缓存中获取文件。 最好的方法是获取当前的日期戳。 您还可以指定站点版本号,并在上载新文件时更新它,然后将版本号添加到URL。

这将允许您确保在更新站点时从服务器加载文件,但是当用户再次进入页面并且没有更改时,文件将从缓存加载。

http://path.to.my.file/file.swf?version=1.1.0

这是我在项目中使用的代码:

var _url:String = "http://some.url/file.swf";
var vstring:String = (_url.indexOf("?") != -1) ? "&version=" + _version : "?version=" + _version;
_url = _url + vstring;

答案 1 :(得分:2)

您可以使用某些服务器端脚本将缓存控制标头添加到HTML页面。这是一个PHP示例:

<?php
    header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
    header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past
?>

通过设置过去的日期,您可以强制浏览器/代理缓存检查文件自上次缓存以来是否已更改。

相关问题