Flash无法在Internet Explorer中呈现

时间:2010-07-22 20:19:20

标签: html flash internet-explorer firefox

你有以下flash对象放在HTML中,flash似乎在Firefox,Chrome,Safari中呈现良好但在任何版本的IE中都没有!

有人可以告诉我这个对象有什么不对,或者我特意想念的IE !!

 




提前致谢, Tanmay

4 个答案:

答案 0 :(得分:1)

使用SWFObject嵌入Flash元素,它将解决您的所有跨浏览器问题。

答案 1 :(得分:0)

您是否尝试过验证HTML和CSS?你几乎肯定在那里有编码错误,这将有助于你找到它。 http://validator.w3.org/

答案 2 :(得分:0)

我相信你需要movie param。这对我有用:

<!doctype html> 
<object data="http://jquery.thewikies.com/swfobject/fireworks.swf" width="440" height="550" name="demoLaunch" id="demoLaunch" type="application/x-shockwave-flash"> 
    <param value="true" name="democonnect"> 
    <param value="always" name="allowscriptaccess"> 
    <param value="transparent" name="wmode"> 
    <param value="demo1=1&amp;demo2=3&amp;demo3=12&amp;demo4=19" name="flashvars"> 
    <param name="movie" value="http://jquery.thewikies.com/swfobject/fireworks.swf"> 
</object> 

除了跨浏览器JS之外,最好依靠Javascript来控制没有闪回的后备。我推荐jquery swfobject。

答案 3 :(得分:0)

实际上,这里的问题是你正在使用W3C有效的HTML,IE有一种不相容的倾向。要使IE嵌入flash内容,您需要使用embed,它与对象完全相同但不属于W3C标准。

embed标记的语法如下:

<embed src="somefilename.swf" width="550" height="400"></embed>

这通常只是放在object标签内部,因此两个选项都在页面上(不用担心,它不会在了解你已经拥有的对象标签的浏览器中呈现两次)。

使用非标准HTML的一种常见方法是使用Javascript进行嵌入,Javascript将非标准HTML代码写入浏览器,但直到呈现页面后才开始。这允许页面通过W3C HTML验证器,并且仍然可以跨平台工作。用于执行此操作的最佳javascript库通常是SWFObject,它允许您只包含一次Flash内容,并为用户正在查看您的内容的任何浏览器编写html。