为什么我的嵌入式YouTube视频在Firefox中运行,而在Internet Explorer中无法运行?

Bea*_*red 7 html youtube cross-browser

我正在使用以下代码显示YouTube视频.

<object width="425" height="344">
    <param name="movie" 
           value="**URL**">
    </param>
    <param name="allowFullScreen" 
           value="true">
    </param>
    <embed src="**URL**" 
           type="application/xshockwave-flash" 
           allowfullscreen="true" 
           width="425"
           height="344">
    </embed>
</object>
Run Code Online (Sandbox Code Playgroud)

它适用于Firefox,但为什么不在Internet Explorer中呢?

我是一个全新的Web开发人员,所以我遇到了所有这些你退伍老人习惯的奇妙的不一致;)

bob*_*nce 8

为了阐明,它不起作用,因为object标签不完整.Firefox放弃了object元素并使用了后备old-school embed元素.IE不支持,embed所以你什么也得不到.

一个object元素必须至少有一个type属性告诉它使用什么插件和一个data属性告诉它发送插件的内容.在IE中,您还需要在对象内部的值中镜像data属性,<param name="movie">因为它以不同方式运行插件.

IE不会以这种方式"流式传输"部分加载的Flash文件.为此,您必须使用ActiveX classid而不是type告诉它使用哪个插件.如果您关心这一点(并且您可能不会:对于小文件,存根加载器以及在完成之前无用的文件,它没有区别),那么您必须开始提供嵌套对象或嵌入的组合,这很快就会变得混乱.


Sim*_*mon 7

试试这个:

<object type="application/x-shockwave-flash" data="VID_URL" width="425" height="344">
    <param name="movie" value="VID_URL" />
</object>
Run Code Online (Sandbox Code Playgroud)