网站标准之Flash页面如何通过校验
作者:不详 来源:source 【大 中 小】 浏览: 添加日期:2007-07-08 我要评论(4)
1.embed是非法的
<embed>标签是Netscape的私有标签,虽然<embed>标签应用广泛存在,但是从HTML3.2,HTML4.0到XHTML1.0,W3C都没有收录这个标签。使用<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网站是如何通过W3c校验的?
有设计师想到了用JavaScript来隐藏非法的<embed>标签,
<script type="text/javascript "> if (navegiator . mimeTypes && navigator . mimeTypes["application/x-shockwave-flash"] { document . write(''<embed src="test . swf" ...
这是目前比较好的解决办法。你一定要插flash,就用js调用。这种方法可以欺骗W3C的校验程序,使页面通过校验。但仅仅是"欺骗",而不是真符合标准。
macromedia是怎么做的呢?看到这句代码:
<!-- $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>方法类似,也是一种“欺骗”的办法,但这是目前能够做到的最符合标准的,比较完美的做法了。
要想真正抛弃<embed>,只能等IE浏览器对<object>更好的支持才行,也许要等到Longhorn出来了。
〖WEB标准〗Tags: Flash 标准 检验
所属专题:W3C标准
- 上一篇:CSS Hack 汇总快查
- 下一篇:常见Web2.0网站配色
相关文章
更多评论(4)..会员评论
- wxsqgdx(114.220.*.*) 发表于:2010-12-06 23:20:28
- 学习了
- 管理员回复:^_^
- -我为卿狂-(124.134.*.*) 发表于:2010-08-30 15:48:25
- 这样加入flash可以吗?有什么弊端?谢谢<div id="min_img"><IFRAME src="templates/cherish/img/top.swf" frameBorder=0 scrolling=no width=850 height=182></IFRAME>
- 管理员回复:目前flash只是在正常显示和通过验证之间权衡
- hjl580(58.40.*.*) 发表于:2010-06-14 16:00:58
- 哦。说错了。我用的是火狐。3.6.3。
- 管理员回复:火狐下是存在问题,回头纠正一下
- hjl580(58.40.*.*) 发表于:2010-06-14 15:59:14
- 使用“欺骗”方法通过验证,有何意义。。。 就好比考试作弊。 通过了验证,那又怎样?作弊牛逼?作假高超? 为了标准而“标准”,就完全违背了标准的原意。 btw:我刚来本站。使用IE8. 由于使用了“画出来”的按钮,又因为某些原因,真正的按钮框和“按钮的脸”错位了。本以为本站关闭了注册,最后离开之前使用tab尝试了一下,找到了真正的点击区域。希望能及时更正吧。以后会常来网站看看。^_^
- 管理员回复:我这儿也是IE8显示正确
推荐文章
热门文章
最新评论文章
推荐专题
在线交流QQ群
- 106310407(开)
- 55427134(开)
- 2993401(开)
- 30235673(开)
- 33424604(开)
- 2993401(开)
- 161512108(开)
- 161510519(开)
- 158375021(开)
- 155858414(开)
- 143309878(开)
- 16373807(开)
- 129098721(开)
- 123473199(开)
- 146991009(开)
- 135792800(开)
