新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   XML论坛     W3CHINA.ORG讨论区     计算机科学论坛     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> XML网站展示,XML源代码,XML编程示例。 本版仅接受原创、转贴、网站展示,具体的技术交流请前往各相关版块。
    [返回] 中文XML论坛 - 专业的XML技术讨论区XML.ORG.CN讨论区 - XML技术『 XML源码及示例(仅原创和转载) 』 → 可通过XHTML1.0校验的Flash嵌入代码 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 3177 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: 可通过XHTML1.0校验的Flash嵌入代码 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     蓝昊 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:1
      积分:77
      门派:XML.ORG.CN
      注册:2006/4/13

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给蓝昊发送一个短消息 把蓝昊加入好友 查看蓝昊的个人资料 搜索蓝昊在『 XML源码及示例(仅原创和转载) 』的所有贴子 引用回复这个贴子 回复这个贴子 查看蓝昊的博客楼主
    发贴心情 可通过XHTML1.0校验的Flash嵌入代码

    <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
               codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"
               width="300" height="120">
        <param name="movie" value="http://www.macromedia.com/shockwave/download/triggerpages_mmcom/flash.swf">
        <param name="quality" value="high">  

        <param name="bgcolor" value="#FFFFFF">
        <!--[if !IE]> <-->
        <object data="http://www.macromedia.com/shockwave/download/triggerpages_mmcom/flash.swf"
                width="300" height="120" type="application/x-shockwave-flash">
         <param name="quality" value="high">
         <param name="bgcolor" value="#FFFFFF">
         <param name="pluginurl" value="http://www.macromedia.com/go/getflashplayer">
         FAIL (the browser should render some flash content, not this).
        </object>
        <!--> <![endif]-->

       </object>

    我试了,可是还没通过验证,还有听说可以用js调用。可是不会,谁来教教我这个cn!


    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出来了。


       收藏   分享  
    顶(0)
      




    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/4/13 11:00:00
     
     蓝昊 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:1
      积分:77
      门派:XML.ORG.CN
      注册:2006/4/13

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给蓝昊发送一个短消息 把蓝昊加入好友 查看蓝昊的个人资料 搜索蓝昊在『 XML源码及示例(仅原创和转载) 』的所有贴子 引用回复这个贴子 回复这个贴子 查看蓝昊的博客2
    发贴心情 
    我有了方法了,通过w3c。加一个js壳,演示: www.irene.hk
    <script type="text/javascript" language="javascript">
    <!--           
    document.write('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" width="1000" height="500">')
    document.write('<param name="movie" value="flash/index.swf" />')
    document.write('<param name="quality" value="high" />')
    document.write('<param name="wmode" value="transparent" />')
    document.write('<embed src="flash/index.swf" width="1000" height="500" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" wmode="transparent"></embed>')
    document.write('</object>')
    //-->          
    </script>
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/4/13 21:26:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 XML源码及示例(仅原创和转载) 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2025/1/5 5:12:46

    本主题贴数2,分页: [1]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    46.875ms