Flash加载两次解决方法?

Posted

技术标签:

【中文标题】Flash加载两次解决方法?【英文标题】:Flash loads twice workaround? 【发布时间】:2010-10-04 17:42:28 【问题描述】:

在调查报告的我的网站加载缓慢的问题时,我遇到了一个问题,我注意到(通过 firebug)我的 flash 文件加载了两次。

经过一番调查,我找到了firefox bug,并结合了 SWFObject 2.0 的使用。

现在,我注意到有人提到您可以通过以下方式解决该问题:

仅供参考,如果您是网页开发人员,那么获取网页的简单解决方法 使用 FF3 是延迟访问任何插件,直到您的页面 完全读取。一个简单的方法是安排你的插件脚本代码 使用 window.setTimeout 超时运行所有待处理的浏览器事件 零。

老实说,我不知道他们在说什么,希望有人能给我一个可行的代码示例。

您知道实现这项工作的方法以及代码的外观吗?任何帮助将不胜感激!

【问题讨论】:

【参考方案1】:
<script>
  function loadswf()
  
     swfobject.registerObject("myobj", "9.0.0");
  
  function init() 
  
     window.setTimeout("loadswf()", 0);
  
</script>
<body onload="init()">

 <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"   id="myobj">
    <param name="movie" value="style.swf">
    <param NAME=FlashVars VALUE="url=stylelist">
      <!--[if !IE]>-->
      <object type="application/x-shockwave-flash" data="style.swf"  >
     <param name="flashvars" value="url=stylelist">
    <!--<![endif]-->

    <a href="http://www.adobe.com/go/getflashplayer">
    <img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif"  />
                    </a>
    <!--[if !IE]>-->
    </object>
    <!--<![endif]-->
 </object>             

【讨论】:

嗯,这是不同的行为,但它会加载 Flash,然后它会完全消失,我的浏览器页面中会出现白屏... 我认为我们可能正在做两件不同的事情。我的是一个涉及上面代码的思想实验。我不确定您使用的是什么代码——也许您可以包含完整的代码?我修改了我的工作代码以符合 setTimeout 的想法。此外,这可能是 swfobject 1。【参考方案2】:

确保您在响应中设置了 Cache 和 Expires 标头。我在对象标签中遇到了类似的问题,两次调用服务器。将 Expires 标头设置为在当前时间之后 5 秒会阻止第二次调用。 高温

【讨论】:

它没有为我解决问题【参考方案3】:

这也可能是由于CDNs 配置不正确造成的,他们可能没有发送完整的内容或抛出 206 或其他 http 错误。

【讨论】:

以上是关于Flash加载两次解决方法?的主要内容,如果未能解决你的问题,请参考以下文章

解决cef加载flash时弹出黑框的问题

vue mounted 调用两次的解决办法

[解决] springmvc 初始化两次WebApplicationContext

FLASH AS3图片内存清除方法

spring中配置quartz调用两次及项目日志log4j不能每天生成日志解决方法

下拉列表被flash覆盖的解决方法