【问题标题】:How do we get IE to refresh a flash.swf file every time the page is loaded?我们如何让 IE 在每次页面加载时刷新一个 flash.swf 文件?
【发布时间】:2010-12-07 11:14:27
【问题描述】:

当用户访问我们的网站时,他们会看到封面流。他们没有登录,所以他们看不到任何图像。一旦他们登录,他们应该能够看到封面流中的图像,但他们不能,因为闪存对象正在被缓存。

用户可以通过将 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# 脚本来生成随机数,但这似乎不会刷新对象。

【问题讨论】:

  • 用户登录后页面是否刷新?如果是这样,您可以将参数作为 FlashVar 传递,而不是在 swf 的末尾设置一个随机数,例如 loggedIn=true
  • 不确定我是否关注你,但是我尝试在 flash vars 和嵌入对象的属性中设置随机变量,它只是不刷新对象,太烦人了......
  • 我总是不得不关闭浏览器并重新打开。它很烂,但每次都有效。
  • 对于我们大约 50 位企业客户来说,这并不是一个真正合适的解决方案 :-( 非常希望 :-)
  • 我不知道 asp 解决方案,所以我将其作为评论发布。我假设 php 解决方案实际上是相同的。我会编写一个小的 php 脚本,其标题如下所示: header("Cache-Control: no-cache, must-revalidate");在过去的标题中过期的日期(“过期:星期六,1997 年 7 月 26 日 05:00:00 GMT”); - swf 文件“application/x-shockwave-flash”的正确标题,然后我将使用 readfile() 读取 swf。然后我会链接到 php 文件而不是 swf 文件。

标签: c# asp.net html flash internet-explorer


【解决方案1】:

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

要解决这个问题,请尝试创建名为 streaming_flow2_v8.aspx 的 .aspx 文件,并在该文件中将所有缓存标头设置为立即过期和“无缓存”等。然后重定向到实际的闪存文件。

别忘了这样称呼它streaming_flow2_v8.aspx?math=&lt;%= random %&gt;

不能保证它会奏效,但值得尝试并且有很大的成功机会。 :)

【讨论】:

    猜你喜欢
    • 2017-12-17
    • 2021-06-10
    • 1970-01-01
    • 2012-03-07
    • 2020-06-17
    • 2017-04-12
    • 1970-01-01
    • 1970-01-01
    • 2020-11-08
    相关资源
    最近更新 更多