网页校验器:含有Flash的网页如何通过校验 ?

有关W3Cxhtml和css校验在某些时候大家都是比较看重不过我现在要强调校验只是检测代码种手段不是我
们制作符合Web标准网站WebSite最终目标我们制作符合Web标准网站WebSite意义在于内容、结构、表现相
分离使我们页面代码更简洁更精减更快速
提交我们网页看W3C校验目在于查看我们代码是不是符合规范标准是不是有和使用不妥东西存在是我们在
制作符合Web标准网站WebSite过程中种检测种辅助设计罢了
下面我们切入主题:有Flash网页如何通过校验?
1、embed是非法
<embed>标签是Netscape私有标签虽然<embed>标签应用广泛存在但是从HTML3.2,HTML4.0到

XHTML1.0W3C都没有收录这个标签使用<embed>标签页面将不能通过W3C校验

2、应该用object
W3C推荐是<object>标签甚至在XHTML2中<img>都要被<object>所取代用<object>思路方法插入

flash代码是:

<object ;type=""application/x-shockwave-flash"" ;data=""test.swf"" ;width=""200"" ;height=""100"">

;<parm ;name=""movie"" ;value=""test.swf ;/></object> ;

 但是这个思路方法在IE5-IE6/Win上不能正确显示(不能连续播放要下载完才能放),在低版本可以正确显示后
来采用先调个小flash文件再嵌入大flash文件思路方法解决了连续播放问题但是在IE5以上版本有时依然出现不
能显示flash情况
3、目前临时办法
那么既要符合标准又想在所有浏览器正确显示flash应该如何做?macromedia网站WebSite是如何通过

W3c校验?有设计师想到了用JavaScript来隐藏非法<embed>标签:

<script ;type=""text/javascript ;""> ; ;(navegiator ;. ;mimeTypes ;&& ;navigator ;. ;
mimeTypes[""application/x-shockwave-flash""] ;{ ;
document ;. ;write("'<embed ;src=""test ;. ;swf"" ;... ;
这是目前比较好解决办法你定要插flash就用js这种思路方法可以欺骗W3C校验使页面通过校验但仅仅是
""欺骗""而不是真符合标准

  macromedia是如何做呢?看到这句代码:

它采用了个折中 2选办法:
(1)、首先javascript来判断你浏览器版本和flash ;player版本; ;
(2)、根据版本区别在后台动态生成HTML代码 ;
简单说就是默认采用<object>思路方法如果浏览器不能处理objectMIME类型“ ;application/xshockwave-
flash”,它就插入子元素<embed>说穿了这和用js隐藏<embed>思路方法类似也是种“欺骗”办
法但这是目前能够做到最符合标准,比较完美做法了
要想真正抛弃<embed>只能等IE浏览器对<object>更好支持才行也许要等到Longhorn出来了

原文地址:https://www.cnblogs.com/shihao/p/1471602.html