如何在Mac上禁用Google Chrome的缓存,以便在开发Flash应用程序时,每次都会加载新的电影?
请给予建议,我无法确定我查看的.swf版本是否是最新版本。
一个解决方案可能是让Flex编译器将时间戳附加到.swf文件名中,这是可能的吗?
谢谢!
如何在Mac上禁用Google Chrome的缓存,以便在开发Flash应用程序时,每次都会加载新的电影?
请给予建议,我无法确定我查看的.swf版本是否是最新版本。
一个解决方案可能是让Flex编译器将时间戳附加到.swf文件名中,这是可能的吗?
谢谢!
"MySWFName.swf?t=" + new Date().getTime();
<body onLoad="loaded()" onunload"doUnload( )">
<div id="replaceMe">Loading content.</div>
</body>
对于 JavaScript,请这样做(显然将用{ }包裹的内容更改为您的需求)
<script type="text/javascript" src="swfobject.js">
<script type="text/javascript">
function loaded() {
var flashvars={}, params={}, attributes={}, tmp, version, width, height, container, flashObj;
flashvars.userName = "testvar";
params.menu = "true";
params.quality = "high";
params.bgcolor = "${bgcolor}";
params.allowscriptaccess = "always";
params.allownetworking = "all";
attributes.id = "${application}";
attributes.name = "${application}";
attributes.align = "middle";
attributes.allowscriptaccess = "always";
attributes.allownetworking = "all";
tmp = "expressInstall.swf";
version = "${version_major}.${version_minor}.${version_revision}";
width = "${width}";
height = "${height}";
container = "replaceMe";
flashObj = "${swf}.swf?t=" + new Date().getTime();
swfobject.embedSWF(flashObj, container, width, height, version, tmp, flashvars, params, attributes);
}
</script>
不要忘记添加SWFobject的副本
您将永远不会再遇到缓存问题了
编辑:
顺便说一句,如果您用这段代码替换html.template.html文件中的代码,它将为您生成值。 :)
打开“视图”菜单,选择“开发者工具”。在开发者工具的右下角有一个齿轮图标。点击它,然后勾选“禁用缓存”复选框。
就个人而言,我不会这样做。缓存存在是有原因的,当你本地运行时不应该禁用它。根据我的经验,最好的方法是通过使用Ant或Maven(如果有自动化引擎更好),使一个“版本”(通常是类中的静态属性)号码每次构建时递增,然后将该版本号作为url参数附加到flash电影中,例如在html中,Movie.swf?version=1.31
。