2009-11-04 123 views
2

我有一个网站的闪存运行。 IE7将不会重新加载闪存中的变量,swf中闪存设置的变量。当页面重新加载时。让我感到困惑的是刷新页面实际刷新页面。除非闪存中的变量没有重置,否则闪存开始如何设置。IE7,页面刷新不重新加载闪存变量

只有当IE中的“Internet临时文件”设置设置为“自动”时才会发生这种情况。但是,当“每次访问页面”时都应该如何进行检查。

什么可能导致此?

+0

可能与页面缓存有关。在页面上查找缓存标题和到期日期。 – 2009-11-04 20:52:19

回答

0

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

+1

Flash正在重新加载,但间隔未刷新。看起来像闪光灯和IE的错误。特别是当涉及到区间。 – kayem 2009-11-10 00:40:39

+0

不幸的是,在浏览器/ flash插件中有一些奇怪的东西,感谢您指出确切的问题:) – GnrlBzik 2009-11-10 16:35:29

+1

应用程序/游戏在dif mc中同时使用所有给定的唯一名称中的很多setIntervals。在移除mc之前清除一些间隔(如果在游戏中被用户破坏)。如果用户关闭了游戏。从父级电影中删除了游戏MC。然后点击播放即:加载一个新的游戏实例。一些setinterval调用仍在运行。 我用setTimout替换了setinterval,它会调用一个函数来执行所需的操作,最后设置一个newTimeout调用函数。当mcs被删除时,setimeout不能再运行或再次被调用。 – kayem 2010-01-30 01:50:28

2

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

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

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

对于需要通过改变HTTP头做服务器端的其他文件。如果你的文件托管在Apache服务器上,那么你可以使用.htaccess这个文件。您也可以更改PHP脚本的http标头。

+0

IE中的Ctrl-F5抑制了发送到服务器的If-Modified-Since和If-None-Match报头,导致无论如何都导致尚未更改的内容被更改。 F5本身仍然会绕过本地缓存。 – AnthonyWJones 2009-11-04 21:08:16

0

我不太了解Flash,但是这种事情发生在补充资源异步获取时。

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

但是,如果额外的活动计划在加载后运行(比如说通过Javascript setTimeout)并且这些额外的活动会加载更多的资源,那么这些资源将不会认为自己在引用上下文中。因此,如果它们在高速缓存中可缓存并且新鲜,则它们将被交付而不会绕过服务器。

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