直接使用<object>或<embed>都可以实现视频播放,那么两者的区别是什么?

1、是为了兼容不同浏览器,IE只支持对Object的解析;火狐,谷歌,Safari只支持对Embed的解析。
2、object标签用clsid表示控件的唯一id,而embed标签用type表示插件的唯一名称。比如flash插件type为:application/x-shockwave-flash,mp3播放插件type为audio/mpeg。
3、为了兼容多个浏览器,可以通过ie浏览器动态加载Object标签,非ie浏览器动态加载embed标签;或者在object标签里面嵌入embed标签

使用 object 和 embed 标签来嵌入,细心的会发现,object 的很多参数和 embed 里面的很多属性是重复的,为什么这样做?为了浏览器兼容性,有的浏览器支持 object,有的支持 embed,这也是为什么要修改 Flash 的参数时两个地方都要改的原因。这种方法是 Macromedia 一直以来的官方方法,最大限度的保证了 Flash 的功能,没有兼容性问题。
现阶段用 JS 嵌入 Flash 是最完美的方法,有人写了很完善的嵌入脚本可以方面地下载使用(推荐 SWFObject),SWFObject.js下载地址https://github.com/swfobject/swfobject

objec参数说明
param name标签是在这个播放插件中嵌入的一些功能和播放参数,比如(你可以抄下来): 
<param name="playcount" value="1"><!--控制重复次数: “x”为几重复播放几次; x=0,无限循环。--> 
<param name="autostart" value="0"><!--控制播放方式: x=1,打开网页自动播放; x=0,按播放键播放。--> 
<param name="clicktoplay" value="1"><!--控制播放开关: x=1,可鼠标点击控制播放或暂停状态; x=0,禁用此功能。--> 
<param name="displaysize" value="0"><!--控制播放画面: x=0,原始大小; x=1,一半大小; x=2,2倍大小。--> 
<param name="enablefullscreen controls" value="1"><!--控制切换全屏: x=1,允许切换为全屏; x=0,禁用此功能。--> 
<param name="showaudio controls" value="1"><!--控制音量: x=1,允许调节音量; x=0,禁止音量调节。--> 
<param name="enablecontext menu" value="1"><!--控制快捷菜单: x=1,允许使用右键菜单; x=0,禁用右键菜单。--> 
<param name="showdisplay" value="1"><!--控制版权信息: x=1,显示电影及作者信息;x=0,不显示相关信息--> 
<param NAME="AutoStart" VALUE="-1"><!--是否自动播放--> 
<param NAME="Balance" VALUE="0"><!--调整左右声道平衡,同上面旧播放器代码--> 
<param name="enabled" value="-1"><!--播放器是否可人为控制--> 
<param NAME="EnableContextMenu" VALUE="-1"><!--是否启用上下文菜单--> 
<param NAME="url" VALUE="http://1.wma"> <!--播放的文件地址--><param NAME="PlayCount" VALUE="1"><!--播放次数控制,为整数--> 
<param name="rate" value="1"><!--播放速率控制,1为正常,允许小数,1.0-2.0--> 
<param name="currentPosition" value="0"><!--控件设置:当前位置--> 
<param name="currentMarker" value="0"><!--控件设置:当前标记--> 
<param name="defaultFrame" value=""><!--显示默认框架--> 
<param name="invokeURLs" value="0"><!--脚本命令设置:是否调用URL--> 
<param name="baseURL" value=""><!--脚本命令设置:被调用的URL--> 
<param name="stretchToFit" value="0"><!--是否按比例伸展--> 
<param name="volume" value="50"><!--默认声音大小0%-100%,50则为50%--> 
<param name="mute" value="0"><!--是否静音-- 
<param name="uiMode" value="mini"><!--播放器显示模式:Full显示全部;mini最简化;None不显示播放控制,只显示视频窗口;invisible全部不显示--><param name="windowlessVideo" value="0"><!--如果是0可以允许全屏,否则只能在窗口中查看--> 
<param name="fullScreen" value="0"><!--开始播放是否自动全屏--> 
<param name="enableErrorDialogs" value="-1"><!--是否启用错误提示报告--> 
<param name="SAMIStyle" value><!--SAMI样式--> 
<param name="SAMIFilename" value><!--字幕ID-->

实例代码

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="700" height="400">
<param name="movie" value="http://player.video.qiyi.com/da0dd3d0918603a517a270b9ffe4b2d9/0/0/w_19rtosavsh.swf-albumId=8231726109-tvId=8231726109-isPurchase=0-cnId=24" />
<param name="quality" value="high" />
<param name="allowFullScreen" value="true" />
<param name="FlashVars" value="vcastr_file=12.flv&LogoText=description&BufferTime=3&IsAutoPlay=1"> <embed src="http://player.video.qiyi.com/da0dd3d0918603a517a270b9ffe4b2d9/0/0/w_19rtosavsh.swf-albumId=8231726109-tvId=8231726109-isPurchase=0-cnId=24" allowfullscreen="true" flashvars="vcastr_file=12.flv&IsAutoPlay=1&LogoUrl=images/logo.jpg" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="700" height="400"></embed>
</object>

  

效果如图

利用<object>和<embed>实现视频播放的更多相关文章

  1. 关于object和embed

    最近发现很久之前写的demo 在FF上有兼容问题, 主要发生在如下: 由于时间太久,自己都有点搞不清怎么写的,尤其是object标签,今天查了很多资料,总结一下object标签 在网页中正常显示fla ...

  2. OBJECT和EMBED标签(转载)

    一.介绍: 我们要在网页中正常显示flash内容,那么页面中必须要有指定flash路径的标 签.也就是OBJECT和EMBED标签.OBJECT标签是用于windows平台的IE浏览器的,而EMBED ...

  3. 转: object 和embed 标签播放flash

    一.介绍: 我们要在网页中正常显示flash内容,那么页面中必须要有指定flash路径的标 签.也就是OBJECT和 EMBED标签.OBJECT标签是用于windows平台的IE浏览器的,而EMBE ...

  4. OBJECT和EMBED标签

    一.介绍: 我们要在网页中正常显示flash内容,那么页面中必须要有指定flash路径的标 签.也就是OBJECT和EMBED标签.OBJECT标签是用于windows平台的IE浏览器的,而EMBED ...

  5. 在HTML中使用object和embed标签插入视频

    object标签和embed标签都能给页面添加多媒体内容: 一.object 对于object,w3c上定义object为一个嵌入的对象.可以使用此元素向您的 XHTML 页面添加多媒体.此元素允许您 ...

  6. 网页中多媒体对像标记<OBJECT>和<EMBED>

    在网页中常用object和embed标记插入的多媒体对象,比如FLASH,视频等. 用一个快播例子说明下这两个标记的使用和区别: <object classid="clsid:F3D0 ...

  7. html中object和embed标签的区别

    ♦object定义一个嵌入的对象.请使用此元素向您的 XHTML 页面添加多媒体.此元素允许您规定插入 HTML 文档中的对象的数据和参数,以及可用来显示和操作数据的代码. ♦<object&g ...

  8. ngx-bootstrap使用03 Alerts组件、利用Object.assign复制对象

    1 Alerts 该组件用于给用户操作提供反馈信息或者提供一些警告信息 2 用法 2.1 下载ngx-bootstrap依赖 参考博文:点击前往 2.2 在模块级别导入AlertModule模块 技巧 ...

  9. 利用Object.prototype.toString方法,实现比typeof更准确的type校验

    Object.prototype.toString方法返回对象的类型字符串,因此可以用来判断一个值的类型. 调用方法: Object.prototype.toString.call(value) 不同 ...

随机推荐

  1. linux系统中关于shell变量$*与$@的区别

    在我们初学linux系统shell时,可能会感觉$@与$*没什么区别,如下面shell脚本: #!/bin/bash# name:a.sh # echo 'this script $* is: '$* ...

  2. iOS 循环引用 委托 (实例说明)

    如何避免循环引用造成的内存泄漏呢: 以delegate模式为例(viewcontroller和view之间就是代理模式,viewcontroller有view的使用权,viewcontroller同时 ...

  3. yii---实现加一或减一

    废话少说,直接看: /** * 添加帖子的浏览数 * @author fyz */ public function addViewNum($threadId){ $list = ForumThread ...

  4. ThinkCMF----调用指定栏目的文章列表

    做项目的时候,在用ThinkCMF在首页调用指定的栏目文章,但是没有找到好的方法,就自己写了一个. 但是又不想写标签,就在公用方法里面实现了:找到common.php 操作数据库,要用到think的控 ...

  5. POJ 1180 - Batch Scheduling - [斜率DP]

    题目链接:http://poj.org/problem?id=1180 Description There is a sequence of N jobs to be processed on one ...

  6. UVA 11768 - Lattice Point or Not

    首先本题需要用到扩展欧几里得算法…… 关于exgcd算法的一点简略证明: 那么,对于函数exgcd(a,b)=(d,x,y),其中d满足d=gcd(a,b); (x,y)满足ax+by=d; 则exg ...

  7. JSTL 学习

    对于页面访问数据的统计,可以使用内置对象的相应方法进行计数工作,这个对象要在jsp对象的整个生命周期中setAttribute()和getAttribute()application.setAttri ...

  8. Gym - 101028I March Rain 二分

    http://codeforces.com/gym/101028/problem/I 题意:给你n个洞,k个布条,问布条能贴到所有洞时的最小值. 题解:二分答案,因为答案越大就越容易满足条件. 技巧: ...

  9. 教程 | 如何使用纯NumPy代码从头实现简单的卷积神经网络

    Building Convolutional Neural Network using NumPy from Scratch https://www.linkedin.com/pulse/buildi ...

  10. 基于bind搭建DNS主从

    使用bind的主从复制功能可以实现的功能:提供冗余,避免单点故障:均衡负载查询需求,从而提高系统可用性. 一.安装 #bind-chroot 负责DNS安全作用,将bind进程严格限制在特定的目录中 ...