2010-12-07 54 views
0

当用户访问我们的网站时,他们会看到一个封面。他们没有登录,所以他们看不到任何图像。一旦他们登录,他们应该能够看到封面流中的图像,但他们不能正确地缓存flash对象。每次页面加载时,我们如何让IE浏览器刷新flash.swf文件?

用户可以通过将IE设置设置为(每次访问站点时检查存储页面的较新版本)来解决此问题,但是我们需要一种方法来强制浏览器在登录后刷新Flash对象没有告诉我们所有的用户在他们的浏览器中改变设置。

这可能吗?

我已经尝试添加以下内容:

<div class="flash"> 
     <script type=text/javascript> 
     AC_FL_RunContent(
      'codebase', 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0', 
      'width', '600', 
      'height', '225', 
      'src', 'streaming_flow2_v8?math=<%= random %>', 
      'quality', 'high', 
      'pluginspage', 'http://www.macromedia.com/go/getflashplayer', 
      'align', 'middle', 
      'play', 'true', 
      'loop', 'true', 
      'scale', 'showall', 
      'wmode', 'transparent', 
      'devicefont', 'false', 
      'id', 'streaming_flow2_v8?math=<%= random %>', 
      'bgcolor', '#ffffff', 
      'name', 'streaming_flow2_v8?math=<%= random %>', 
      'menu', 'true', 
      'allowScriptAccess','sameDomain', 
      'allowFullScreen','true', 
      'movie', 'streaming_flow2_v8?math=<%= random %>', 
      'salign', '' 
      ); 
     </script> 
     <noscript> 
     <embed 
     src="streaming_flow2_v8.swf?math=<%= random %>" 
     width="600" 
     id="<%= random %>" 
     height="225" 
     allowscriptaccess="always" 
     allowfullscreen="true" 
     flashvars="address=/playlist.aspx?math=<%= random %>" 
     /> 
     </noscript> 
    </div> 

你可以看到我的内联C#脚本来生成随机数但似乎没有刷新的对象。

+0

用户登录后页面是否刷新?如果是这样,而不是设置一个随机数到swf的结尾,你可以通过一个参数作为FlashVar像loggedIn = true – jolyonruss 2010-12-07 11:54:47

回答

1

查询字符串可能不会影响.SWF文件,只有文件名。

要破坏这一点,请尝试创建名为streaming_flow2_v8.aspx的.aspx文件,并在该文件中将所有缓存标头立即过期并将“no-cache”等设置。然后重定向到实际的Flash文件。

而且不要忘了称呼它streaming_flow2_v8.aspx?math=<%= random %>

不能保证它会工作,但它是值得尝试,有成功的好机会。 :)

相关问题