• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Flash页面如何通过校验

    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. -->

    它采用了一个折中二选一的办法:

    简单说就是默认采用object>方法,如果浏览器不能处理object的MIME类型“ application/x-shockwave-flash”,它就插入子元素embed>。说穿了,这和用js隐藏embed>方法类似,也是一种“欺骗”的办法,但这是目前能够做到的最符合标准的,比较完美的做法了。

    要想真正抛弃embed>,只能等IE浏览器对object>更好的支持才行,也许要等到Longhorn出来了。

    上一篇:利用CSS,链接下划线也玩自定义
    下一篇:CSS中box(盒模式)的分析
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Flash页面如何通过校验 Flash,页面,如何,通过,校验,