IE7,页面刷新没有重新加载闪存变量

时间:2009-11-04 20:43:49

标签: flash internet-explorer-7 actionscript-2

我有一个网站在flash中运行。 IE7不会重新加载flash中的变量,swf中由flash设置的变量。何时重新加载页面。让我烦恼的是刷新页面实际上刷新了页面。除了flash中的变量没有重置之外,flash开始了它应该是怎么回事。

仅当IE中的“Internet临时文件”设置设置为“自动”时,才会发生这种情况。但是,当“我每次访问页面”都被检查时,它的工作原理应该如何。

可能导致这种情况的原因是什么?

3 个答案:

答案 0 :(得分:2)

Internet Explorer可能正在缓存HTML和/或SWF文件。您可以通过重新加载包含ctrl-key的浏览器来绕过缓存,但是对于更通用的解决方案,您需要告诉浏览器不要缓存文件。

对于HTML文件(即嵌入SWF的文件),您可以添加以下元代码:

<meta http-equiv="cache-control" content="no-cache" />

对于其他文件,您需要通过更改HTTP标头在服务器端执行此操作。如果您的文件托管在Apache服务器上,那么您可以使用.htaccess文件。您还可以更改PHP脚本的http标头。

答案 1 :(得分:0)

可能,flash插件/浏览器关系以及它如何使用缓存,请查看此链接到论坛帖子,希望它会有所帮助。 http://www.ultrashock.com/forums/actionscript/force-reload-files-only-using-as3-123408.html

答案 2 :(得分:0)

我对flash不太了解,但是当异步提取补充资源时会发生这种情况。

刷新IE时,不仅要刷新当前文档,还要确保在刷新文档的加载期间创建的元素引用任何资源(JS,BMP,SWF等)。

但是,如果计划在加载后运行其他活动(例如通过Javascript setTimeout),并且这些额外活动会加载更多资源,那么这些资源将不会认为自己属于referh上下文。因此,如果它们在缓存中是可缓存的和新鲜的,那么它们将被传送而不会绕过服务器。

通常,当设置“自动”时,如果资源从未在当前会话中获取,IE将忽略任何新的缓存内容。通过设置“每次访问页面”,您可以将此行为扩展到每次访问(包括刷新),而不是每个会话。