·您当前的位置:首页 > 技术教程 > AS2与AS3技术 >

Flash OBJECT和EMBED标签

时间:2011-06-25 15:36blueidea.com
我们要在网页中正常显示flash内容,那么页面中必须要有指定flash路径的标签。也就是OBJECT和EMBED标签。OBJECT标签是用于windows平台的IE浏览器的,而EMBED是用于windows和Macintosh平台下的Netscape Navigator浏览器以及Macintosh平台下的IE浏览器。windows平台的IE利

  我们现在大部分人做网页,都是直接用DW插入flash,而且DW也是所见即所得,直接生成了相应的flash显示代码。可是我们又有多少人了解这些直接由DW生成的代码呢?其实我接触flash player标签,是在刚学习html的时候,那时书中插入flash只有最简单的<embed src="" width="" height=""></embed>一句,而且在很长一段时间里,只要网页中插入flash我也都是这样写的,当时认为,这样写即简单好记,又节省代码,反倒对DW起疑问,为什么这么简单的代码,它要搞得这么复杂呢。但仔细想想,DW生成的代码必有他的道理。而在后来的应用中,也应证了我的判断(呵呵,也许想法本来就菜)。
这几个星期,一直在做flash与JS及.NET交互相关的应用,所以对OBJECT、EMBED标签有了更深的了解。就这两天,在做flash实现网页拖块布局功能(类似QQ空间的JS布局),由于要根据不同用户,载入及输出不同的用户配置文件,所以我想到了由.NET生成的相应用户的配置文件名,而用<param name="FlashVars" value="import=userimport1.txt&output=useroutput1.txt">来传递相关的文件变量给flash。但在实际应用中,发现Firefox及opera等浏览器并不能识变这样的变量传递,更确切地说,它们并不支持<param>标签。所以今天抽空,上MM网收集整合了一下相关的内容。

  一、介绍:
  我们要在网页中正常显示flash内容,那么页面中必须要有指定flash路径的标签。也就是OBJECT和EMBED标签。OBJECT标签是用于windows平台的IE浏览器的,而EMBED是用于windows和Macintosh平台下的Netscape Navigator浏览器以及Macintosh平台下的IE浏览器。windows平台的IE利用Activex控件来播放flash而其它的浏览器则使用Netscape插件技术来播放flash。

  下面是简单的网页中插入flash的代码示例:

 

  1. <OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"   
  2. codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"   
  3. WIDTH="550" HEIGHT="400" id="myMovieName">   
  4. <PARAM NAME=movie VALUE="myFlashMovie.swf">   
  5. <PARAM NAME=quality VALUE=high>   
  6. <PARAM NAME=bgcolor VALUE=#FFFFFF>   
  7. <EMBED src="/support/flash/ts/documents/myFlashMovie.swf" quality=high bgcolor=#FFFFFF WIDTH="550" HEIGHT="400"   
  8. NAME="myMovieName" ALIGN="" TYPE="application/x-shockwave-flash"   
  9. PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer">   
  10. </EMBED>   
  11. </OBJECT> 

  二、为什么要使用以上全部的标签?能省略某些标签不?
  OBJECT标签是用于windows IE3.0及以后浏览器或者其它支持Activex控件的浏览器。“classid”和“codebase”属性必须要精确地按上例所示的写法写,它们告诉浏览器自动下载flash player的地址。如果你没有安装过flash player 那么IE3.0以后的浏览器会跳出一个提示框访问是否要自动安装flash player。当然,如果你不想让那些没有安装flash player的用户自动下载播放器,或许你可以省略掉这些代码。
  EMBED标签是用于Netscape Navigator2.0及以后的浏览器或其它支持Netscape插件的浏览器。“pluginspage”属性告诉浏览器下载flash player的地址,如果还没有安装flash player的话,用户安装完后需要重启浏览器才能正常使用。
  为了确保大多数浏览器能正常显示flash,你需要把EMBED标签嵌套放在OBJECT标签内,就如上面代码例子一样。支持Activex控件的浏览器将会忽略OBJECT标签内的EMBED标签。Netscape和使用插件的IE浏览器将只读取EMBED标签而不会识别OBJECT标签。也就是说,如果你省略了EMBED标签,那firefox就不能识别你的flash了(不过纳闷的是,省略了object只写embed,IE也能正常显示flash,呵呵,具体的再仔细看看了)。

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器