`
cuijiemin
  • 浏览: 265391 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

各浏览器嵌入对象区别

阅读更多

通常情况下,IE 系列浏览器通过 ActiveX 插件使用 OBJECT 元素引入 Flash,而其他浏览器则是通过相应的 NPAPI 插件使用 EMBED 元素。这造成了各浏览器中插入 Flash 的方式的差异。

若仅仅使用 OBJECT 元素设置了 classid 属性引入 Flash,则可能造成在某些浏览器中 Flash 无法被引入。而若嵌套的 OBJECT 和 EMBED 元素参数不统一,也可能造成引入的 Flash 在各浏览器中出现差异。

原因:

对于 HTML4.01 规范中的 OBJECT 元素,IE 对 classid 属性有自己的解释方式:类标识符(class identifier)。格式形如:clsid:XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX。由 ActiveX 组件注册在 Windows 的系统注册表中。
codebase 属性则为该类标识符所对应的 ActiveX 插件的 URI 地址。一般是一个 .cab 安装包。(更多请参考 MSDN:
CLASSID Attribute | classid PropertyClass Identifier中的内容。)

EMBED 元素则是由 NetScape Navigator 2 引入,用于在 HTML 文档中插入符合网景插件应用程序编程接口(NPAPI)规范的插件。NPAPI 插件是跨平台的,并可以在所有实现了此接口规范的浏览器中使用。目前的主流浏览器中 IE 系列以外的浏览器均支持 NPAPI 插件。
事实上 IE3.0 就支持 NPAPI,但是在 IE5.5 SP2 后微软出于安全考虑停止了对 NPAPI 的支持,转而推荐用户使用其 ActiveX 技术作为替代。(更多请参考 MSDN:
Netscape 式的插件在升级 Internet Explorer 后不工作
EMBED 元素拥有一个名为 pluginspage 的属性,其值为 NPAPI 插件的 URL,与 IE 中 OBJECT 元素的 codebase 属性类似,它告诉了浏览器插件的下载地址。

EMBED 元素不属于 HTML4.01 规范中的元素,HTML 文档中直接使用 EMBED 元素可能无法通过 W3C 校验。不过 EMBED 元素目前已经被添加到 HTML5 草案中。(参加 HTML5 草案:4.8.3 The embed element

至此若需要在 HTML 文档中引入一个已安装的通用的插件,如 Flash,则在 IE 中使用 OBJECT 元素,非 IE 中则使用 EMBED 元素。此外 IE 中也支持 EMBED 元素引入设置了正确 MIME 的插件。

分享到:
评论

相关推荐

    cef浏览器嵌入到Win32窗口

    本篇文章将深入探讨如何将CEF浏览器嵌入到Win32窗口中,基于CEF版本2171,这个版本被认为具有较高的稳定性和兼容性。 首先,理解CEF的基本工作原理是至关重要的。CEF的核心是Chromium的开源组件,它负责处理HTML、...

    Java-Swing嵌入浏览器(本地浏览器和webkit浏览器-火狐内核)

    这个压缩包文件“Java-Swing嵌入浏览器(本地浏览器和webkit浏览器-火狐内核)”显然提供了一个实现这一功能的示例,主要涉及到的技术是DJnative-SWT和SWT。 DJnative-SWT 是一个开源项目,它的目标是将Java和...

    用c#写的web浏览器--网页嵌入

    C#是一种面向对象的编程语言,广泛用于开发Windows桌面应用、Web应用以及游戏等。在这个场景下,C#结合.NET Framework,可以利用Windows API和WebBrowser控件来实现浏览器功能。WebBrowser控件是.NET Framework提供...

    qt+cef嵌入浏览器

    4. **加载CEF浏览器**:创建CEF的Browser对象,并将其放入Qt的容器部件中。这通常通过CEF的CefBrowserHost类实现。 5. **处理Qt与CEF的交互**:为了实现Qt和CEF之间的通信,需要使用CEF的...

    MFC应用程序中嵌入一个谷歌cef7浏览器

    在本文中,我们将深入探讨如何在MFC(Microsoft Foundation Class)应用程序中嵌入谷歌的CEF7(Chromium Embedded Framework)浏览器。CEF是一个开源框架,它允许开发者将谷歌Chrome的渲染引擎集成到自己的应用中,...

    MFC嵌入Web浏览器

    在MFC中嵌入Web浏览器主要涉及到ActiveX技术,这是微软提出的一种组件对象模型,可以实现不同应用程序间的交互。Web浏览器控件,即IE浏览器的核心,是一个ActiveX控件,称为`Internet Explorer WebBrowser Control`...

    在SWING、SWT中嵌入浏览器

    这篇博客文章“在SWING、SWT中嵌入浏览器”就探讨了如何在Java应用中实现这一功能。 首先,SWING是Java Foundation Classes (JFC)的一部分,提供了丰富的组件和布局管理器来构建复杂的用户界面。尽管SWING本身并不...

    JAVA(GUI)中嵌入浏览器页面

    本文将深入探讨如何在JAVA GUI中嵌入浏览器页面,以实现类似的功能,如在桌面应用中打开和显示网页。 首先,我们需要了解的是Java中用于嵌入浏览器的API——Java Desktop Integration Components (JDIC)。JDIC 是一...

    在MFC中嵌入cef浏览器demo

    3. **嵌入浏览器组件**:在MFC应用中,我们需要创建一个CEF浏览器对象,并将其与MFC的窗口控件关联,以便在MFC的窗口中显示网页内容。 实现这个功能的关键步骤包括: 1. **设置项目依赖**:首先,确保你的项目链接...

    java嵌入浏览器JxBrowser6.21

    Java嵌入浏览器技术是将一个完整的网页浏览功能集成到Java应用程序中的方法,使得开发者可以在Java应用内部展示网页、实现Web应用交互。JxBrowser是一款专为此目的设计的库,它提供了一个API,允许Java开发者轻松地...

    浅谈JavaScript的内置对象和浏览器对象

    在javascript中对象通常包括两种类型:内置对象和浏览器对象,此外,用户还可以自定义对象。 对象包含两个要素: 1. 用来描述对象特性的一组数据,也就是若干变量,通常...当前窗口中的嵌入对象 event 浏览器中发生的

    C# winform嵌入谷歌内核浏览器,Xilium.CefGlue

    本文将深入探讨如何利用C#和.NET框架,通过Xilium.CefGlue库来在WinForm应用中嵌入基于谷歌Chromium内核的浏览器。 首先,Xilium.CefGlue是C#的一个封装库,它为.NET开发者提供了与Chromium Embedded Framework...

    Duilib嵌入wke内核浏览器

    3. **创建WKE浏览器控件**: 在Duilib的窗口布局中定义一个新的控件类型,通常是一个子窗口,然后在这个子窗口中实例化WKE的浏览器对象。 4. **C++与JS交互**: WKE支持通过JavaScript接口与C++代码进行通信。例如,...

    嵌入浏览器需要.rar

    "Swt嵌入浏览器"这一主题涉及到如何使用SWT库在Java应用中嵌入一个功能完整的浏览器引擎。 SWT是Eclipse基金会开发的一个开源GUI库,它允许Java开发者创建与本机系统更加紧密集成的图形用户界面。与传统的Java ...

    在C++builder中嵌入谷歌浏览器

    这个对象可以被嵌入到一个自定义的窗口或控件中,如TCustomForm或TControl。在C++Builder中,你可以使用VCL组件,如TLayout或TPanel,作为浏览器的容器。通过调用CefBrowser对象的`CreateBrowserSync`或`...

    组态王打开网页浏览器 案例

    这个版本的组态王提供了丰富的图形组件和控制对象,包括按钮、文本框、图表等,用户可以通过拖放方式构建自己的监控界面。同时,它支持多种编程语言,如VBScript和JavaScript,用于编写自定义的逻辑控制。 集成网页...

    delphi实现简单浏览器

    在本项目中,“delphi实现简单浏览器”是一个使用Delphi进行开发的轻量级网页浏览应用。 这个项目的核心是TWebBrowser控件,它是Delphi提供的一个组件,用于在应用程序中嵌入Internet Explorer(IE)引擎。...

    在C#App中嵌入Chrome 浏览器使用 CefSharp 32位

    你可以通过`ChromiumWebBrowser`对象来控制浏览器的行为,如导航、注入JavaScript代码、处理各种事件等。例如,设置加载完成事件: ```csharp browser.LoadCompleted += (sender, e) => { Console.WriteLine("页面...

    VB6嵌入谷歌浏览器

    在VB6(Visual Basic 6)中嵌入谷歌浏览器,主要涉及到的是ActiveX技术的应用,以及与WebBrowser控件的交互。以下将详细介绍这个过程,包括相关知识点和步骤。 首先,VB6是一个经典的Windows应用程序开发环境,它...

    pb微软Microsoft Edge浏览器控件

    5. `pbjsxwv2test.pbl`:这是一个PowerBuilder库文件,包含实现浏览器控件功能的源代码和对象。 6. `pbjsxwv2test.pbt`:这可能是项目文件,定义了测试应用程序的结构和依赖关系。 7. `pbjsxwv2test.pbw`:这应该...

Global site tag (gtag.js) - Google Analytics