
本文是我在蓝色理想论坛上讨论的一个回复,我想大多数设计师都会有这个疑问,就保存下来。
1.embed是非法的
<embed>标签是Netscape的私有标签,虽然<embed>标签应用广泛存在,但是从HTML3.2,HTML4.0到XHTML1.0,W3C都没有收录这个标签。使用<embed>标签的页面将不能通过W3C校验。
2.应该用object
W3C推荐的是<object>标签。甚至在XHTML2中,<img>都要被<object>所取代。用<object>方法插入flash的代码是:
<!-- $RCSfile: FlashDetection2k.pm,v $ $Revision: 1.68 $ : your browser''s accept header indicates you have Flash 6,0,65,0 or better, so you''re OK for this Flash 6 movie, here it comes. --> 它采用了一个折中二选一的办法:
- (1).首先javascript来判断你的浏览器版本和flash player的版本;
- (2).根据版本的不同在后台动态的生成HTML代码。
简单说就是默认采用<object>方法,如果浏览器不能处理object的MIME类型“ application/x-shockwave-flash”,它就插入子元素<embed>。说穿了,这和用js隐藏<embed>方法类似,也是一种“欺骗”的办法,但这是目前能够做到的最符合标准的,比较完美的做法了。
无忧CMS,5ucms.org建站仿站首选!
要想真正抛弃<embed>,只能等IE浏览器对<object>更好的支持才行,也许要等到Longhorn出来了。