我有一个网站在flash中运行。 IE7不会重新加载flash中的变量,swf中由flash设置的变量。何时重新加载页面。让我烦恼的是刷新页面实际上刷新了页面。除了flash中的变量没有重置之外,flash开始了它应该是怎么回事。
仅当IE中的“Internet临时文件”设置设置为“自动”时,才会发生这种情况。但是,当“我每次访问页面”都被检查时,它的工作原理应该如何。
可能导致这种情况的原因是什么?
答案 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将忽略任何新的缓存内容。通过设置“每次访问页面”,您可以将此行为扩展到每次访问(包括刷新),而不是每个会话。