论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > div+css布局教程
Tag:css,入门,技巧,div,实例,示例,菜单,布局,web2.0,ul,li,经验,列表,web标准,xhtml,web标准,浏览器,兼容,css hack,表格,视频教程

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

文章类别:div+css布局 | 发表日期:2008-9-26 11:13:09

  
  关于W3C的xhtml和css校验,在某些时候大家都是比较看重的。不过我现在要强调,校验只是检测代码的一种手段,不是我们制作符合Web标准网站的最终目标。我们制作符合Web标准网站的意义在于内容、结构、表现相分离,使我们的页面代码更简洁,更精减,更快速。
  提交我们的网页看W3C的校验,目的在于查看我们的代码是不是符合规范,是不是有错误与使用不妥的东西存在,是我们在制作符合Web标准网站的过程中的一种检测,一种辅助设计罢了。

  下面我们切入主题:有Flash的网页如何通过校验?

  1、embed是非法的
  <embed>标签是Netscape的私有标签,虽然<embed>标签应用广泛存在,但是从HTML3.2,HTML4.0到XHTML1.0,W3C都没有收录这个标签。使用<embed>标签的页面将不能通过W3C校验。

  2、应该用object
  W3C推荐的是<object>标签。甚至在XHTML2中,<img>都要被<object>所取代。用<object>方法插入flash的代码是:

div css xhtml xml Example Source Code Example Source Code [www.21shipin.com]
<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>标签:

div css xhtml xml Example Source Code Example Source Code [www.21shipin.com]
<script type=\"text/javascript \"> if (navegiator . mimeTypes && navigator .
mimeTypes[\"application/x-shockwave-flash\"] {
document . write('<embed src="test . swf\" ...

  这是目前比较好的解决办法。你一定要插flash,就用js调用。这种方法可以欺骗W3C的校验程序,使页面通过校验。但仅仅是\"欺骗\",而不是真符合标准。

  macromedia是怎么做的呢?看到这句代码:

div css xhtml xml Example Source Code Example Source Code [www.21shipin.com]
<!-- $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出来了。

  参考:W3CN
视频教程列表
文章教程搜索
 
div+css推荐教程
div+css热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058