HTML - embed 与 object 之争
来源:互联网 发布:淘宝店铺首页导航栏 编辑:程序博客网 时间:2024/06/05 16:45
当时,对于 Applet 的嵌入,浏览器老大哥 Netscape 公司是使用 embed 标签的,embed 标签的好处就是嵌入一个对象只需要一对标签,所有参数都写入该标签的属性,非常方便。而微软和其他浏览器厂商都使用 applet 专用标签,主标签只有几个固定的属性,那些和嵌入内容有关的属性都放在子标签 param 里(param 只有 name、value 这类固定属性),这种组合标签,就是 object 标签的前身。
之后,随着 Flash、视频、音频这些多媒体元素在网站上的出现,embed 标签的功能被扩展了,用于嵌入这些多媒体元素——原先 embed 标签就有一个 type 属性,利用 MIME 分辨嵌入内容的类型——这是一个非常好的功能,使得非 Applet 的内容也能被识别,而且 MIME 的法则本身就不受浏览器和操作系统的限制。
此时的微软,正在 ActiveX 技术普及的时期,applet 这种标签名范围太窄,于是就大力推行泛用的 object 标签,专门用于 ActiveX 控件的嵌入。object 标签几乎和 applet 一样,只是多了 clsid、codetype 等属性,主要用来来判别嵌入内容的类型。ActiveX 是一把双刃剑,虽然极易开发和使用,但是却是 Windows On
下面,我针对 embed 与 object 标签在 IE6 和 FF3 for Windows 之间做了对比测试。方法是,嵌入了一个 Flash(swf 文件,MIME 为 application/x-shockwave-flash)和一个音频(mp3 文件,MIME 为 audio/mpeg),分别写成四种形式的 HTML 给两个浏览器浏览:
1,两个嵌入都使用 embed;
2,两个嵌入都使用 object(只靠 clsid 识别);
3,两个嵌入都使用 object(同时使用 clsid 与 codetype 识别);
4,两个嵌入都使用 object(只靠 codetype 识别)。
IE6 的结果为:
1——两个嵌入都正常(mp3 默认是 WMP 的 ActiveX 控件打开;若 QuickTime ActiveX 控件注册了mp3 的 MIME,则由 QuickTime ActiveX 控件打开,且可能有安全警告);
2——两个嵌入都正常(clsid 填写哪个 ActiveX 控件的,就用哪个打开);
3——两个嵌入都正常(clsid 填写哪个 ActiveX 控件的,就用哪个打开);
4——Flash 嵌入正常,mp3 音频嵌入失败(显示成一个无法输入的文本框)。
FF3 的结果为:
1——两个嵌入都正常(mp3 默认无法打开,除非 type 属性改用 WMP 专用 MIME;若 QuickTime 插件注册了mp3 的 MIME,则由 QuickTime 插件打开);
2——两个嵌入都失败(空白);
3——两个嵌入都失败(空白);
4——两个嵌入都失败(空白)。
测试结果是:embed 标签兼容性较强,但是变数太多,对于小白浏览者来说就是噩梦;而 object 标签果然是 IE On
另针对 Windows Media Player ActiveX 控件。在 IE(包括马甲)第一次在网页上读到含有媒体装载的 embed 或 object 元素时,会给 IE 注册相应的加载项,虽然注册的名称不同,但是文件都指向 wmp.dll 或 wmpdxm.dll。含有有效 clsid 的 object 元素将注册名称为 Windows Media Player 的加载项;embed 元素则会根据文件 MIME 注册成对应名称的加载项(比如 wma 文件会注册 AUDIO__X_MS_WMA Moniker Class,wmv 文件会注册 VIDEO__X_MS_WMV Moniker Class,实际上这些 class 是原本就存在的,只是需要创建 MIME - CLSID 关联并链入 iexplore)。当禁用已经生成的加载项,或者加载项注册表被破坏时,其对应的 HTML 标签将失去作用。
- HTML - embed 与 object 之争
- 【转】HTML - embed与object之争(转)
- embed 与 object
- <转载>html标签之Object和EMBED标签详解
- html标签之Object和EMBED标签详解
- Html 视频 object ,embed,video
- HTML object/embed标签的wmode属性
- html embed 和 object的区别
- html标签object和embed的区别
- html标签object和embed的区别
- object与embed的区别,嵌入flash
- HTML中flash 有关object embed 属性参数详解
- 关于flash在html的引用 ——OBJECT EMBED
- html中object和embed标签的区别
- html —— 媒体播放object、embed、vedio等元素
- 在HTML中使用object和embed标签插入视频
- html <embed>
- html <embed>
- UISwitch 调整大小
- CSS3之变换Transform
- KMP模版留念
- [020] Android模拟器访问本地Web应用 .
- ubuntu 12.04英文版的系统及火狐浏览器的汉化
- HTML - embed 与 object 之争
- js修改jsp的option元素
- 如何设计良好的viewcontroller
- 通过Jetty搭建一个简单的Servlet运行环境
- centos6.3安装tomcat7
- VS2008纯静态编译QT4.8.0,实现VS2008编译调试Qt程序,QtCreator静态发布程序
- [021] Android应用“易查查”上线推广,请同行多多指教、多多支持 .
- apache主要目录结构及主要配置文件
- 和为S的两个数字 VS 和为S的连续正数序列