在调查报告的网站加载缓慢的问题时,我遇到了一个问题,我注意到(通过firebug)我的Flash文件加载了两次。
经过一番调查后,我将其跟踪到firefox bug并结合使用SWFObject 2.0。
现在,我在帖子中注意到有人提到您可以通过以下方式解决问题:
仅供参考,如果您是网页开发人员,那么可以通过简单的方法来获取您的网页 使用FF3是为了延迟访问任何插件,直到你的页面有 完全读取。一种简单的方法是安排插件脚本代码 使用带有超时的window.setTimeout在所有挂起的浏览器事件之后运行 为零。
老实说,我不知道他们在说什么,我希望有人可以给我一个可行的代码示例。
您知道如何使这项工作以及代码看起来像什么?任何帮助都会非常感激!
答案 0 :(得分:3)
<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" width="778" height="198" 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" width="778" height="198">
<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" alt="Get Adobe Flash player" />
</a>
<!--[if !IE]>-->
</object>
<!--<![endif]-->
</object>
答案 1 :(得分:1)
确保在响应中设置缓存和过期标头。我在对象标签中遇到了类似的问题,并在服务器上调用了两次。将Expires标头设置为当前时间后5秒阻止第二次调用。 HTH
答案 2 :(得分:0)
这也可能是由于配置不正确CDN引起的,他们可能没有发送完整内容或抛出206或其他http错误。