文档章节

多浏览器支持ActiveX控件

j
 jason_wu_2
发布于 2017/04/28 15:48
字数 1001
阅读 46
收藏 0
点赞 0
评论 0

浏览器插件总体可以划分为两大阵营,即IE支持的插件以及非IE支持的插件。

本来在Netscape时代,对于浏览器插件是有公用的规范的(NPAPI),一开始所有浏览器都支持该规范,包括IE。后来出于商业原因,微软的IE不再支持NPAPI,改而自己开发了一套基于COM的ActiveX体系,但这个体系对于非IE浏览器是拒绝支持的。

所以目前的状况基本是,IE浏览器仅支持ActiveX控件,而Firefox、Chrome等浏览器只支持另一类接口(XPCOM或NPAPI)。要想实现一个Web插件,至少需要同时考虑IE支持的AceiveX版以及非IE支持的Plugin版(Flash等插件对于IE与非IE浏览器都是不同的)。

国内多数浏览器的WEBKIT内核极速模式等浏览器,与服务端是什么平台无关。

IE内核浏览器很多,主要是为了弥补IE浏览器本身功能的不足。现在或者曾经比较主流的几款IE内核浏览器(360安全浏览器、世界之窗、傲游、GreenBroswer等)

 

一:firefox

 

NPAPI 是一个很经典的插件方案,用dll进行注入,用协定的API进行通信,用字符串描述插件能力。浏览器会根据能力描述,动态加载插件,并负责插件调用的流程和生命周期管理。而插件中,负责真实逻辑的处理,并可以构造UI与用户交流。以此类方式实现的插件系统。


在firefox提供SDK的下载(https://developer.mozilla.org/en-US/docs/Gecko_SDK


插件整体的实现思路就是通过插件调用OCX控件,也就是插件本身是衔接浏览器与OCX的一条桥梁,这样做就可以简单的实现非ie内核浏览器对OCX控件的支持。

Firefox中支持ActiveX控件运行的研究与实现  http://www.doc88.com/p-3714312872887.html

怎么做能让Firefox支持ActiveX呢?  


答:两种方案:一种是使用IETab这个插件,在Firefox下直接调用IE浏览器内核进行浏览;  
另一种是使用npActivexPlugin,让Firefox直接支持ActiveX。这两款Firefox扩展的下载地址分别是http://ietab.mozdev.org/和http://forums.mozine.cn/index.PHP?showtopic=2350,选择一款适合你自己的就可以了。 


XPI是什么?

firefox中的xpi实际上类似于IE中的插件或扩展(如Flash插件等).
格式一般为.Zip, 由XUL、JavaScript、CSS、HTML和图片等构成.

Firefox扩展包(Firefox Extensions)是指对为了增强在Mozilla Firefox中浏览网页所做的一些小改进的名字。他们也许只是 可以为Mozilla Firefox增加新的功能一个小程序或者插件。您可以在Extensions page上看一看各种扩展包列表。

  关于扩展包的最伟大的好事则是它使得Mozilla Firefox小巧而不臃肿。任何人可以根据自己需要安装适当的扩展包。

==================================================================
如何安装Firefox扩展文件?  

扩展文件通常是xpi文件格式(以.xpi结尾).有三种安装方法:

1,直接拖拽到Firefox浏览器的窗口里或扩展窗口里
2,点击  '菜单"--"工具"--''扩展'',把.xpi文件拖进弹出窗口里,稍后就可以看到Firefox会询问你是否要安装这个插件,点击是,并重启Firefox浏览器
3,鼠标右键点xpi文件,选打开方式,在打开方式里选firefox,设置关联。以后只要双击xpi文件就自动安装了 

二:chrome

 

 

NPAPI插件开发详细记录:用VS2010开发NPAPI插件步骤:    http://www.softwareace.cn/?p=122

NPAPI插件开发详细记录:安装包的制作     http://www.07net01.com/program/235980.html

NPAPI插件开发 http://blog.csdn.net/rainkop/article/details/8063709

理解WebKit和Chromium: 插件机制(NPAPI Plugin)    http://www.ithao123.cn/content-927701.html

基于NPAPI插件开发  http://www.aiuxian.com/article/p-1852532.html

© 著作权归作者所有

共有 人打赏支持
j
粉丝 4
博文 133
码字总数 2988
作品 0
新扩展可让Chrome 支持ActiveX

ActiveX控件的强制捆绑使国内的网银只能在IE或基于IE内核的浏览器上登陆,此次的Chrome浏览器上的ActiveX扩展让我们看到了 在非IE浏览器上使用网银的希望ActiveX 是一个开放的集成平台,为开...

红薯 ⋅ 2011/03/21 ⋅ 11

浏览器插件研究

很早就想开发浏览器插件,像谷歌浏览器插件太丰富,但要熟悉javesript,go语言。 一般的Web应用对于浏览器插件能不使用的建议尽量不使用,因为其涉及到安全问题以及影响用户安装(或自动下载注...

crossmix ⋅ 2015/09/25 ⋅ 0

EasyPlayer windows RTSP播放器OCX插件使用说明

鉴于大家对于EasyPlayer插件的使用还不太熟悉,特此写一篇插件的使用文档,供大家参考;EasyPlayer插件有两种,一种是基于IE的ActiveX控件,一种是基于FireFox(也支持多浏览器)的npAPI插件...

xiejiashu ⋅ 2017/12/11 ⋅ 0

MediaWrap

mediawrap 是一个很小的 Firefox 扩展。它能够将 ActiveX 控件方式的网页内嵌媒体转换成 Firefox 能够支持的 Plugin 方式,从而使 Firefox 也能够象 IE 一样正常播放 Wmplayer、Rmplayer、Q...

匿名 ⋅ 2008/09/19 ⋅ 0

微软允许 Chrome 和 Firefox 访问更新目录网站

微软终于推出了一个新版本的更新目录网站(Update Catalog),让IE之外的浏览器也可以访问该网站。之前,Internet Explorer浏览器是唯一支持该网站的浏览器。从现在起,几乎所有的浏览器,包...

达尔文 ⋅ 2016/10/17 ⋅ 11

【转】用ATL开发和部署ActiveX网页控件

from:http://hi.baidu.com/zifan/blog/item/ea050df35bfa5dc10a46e022.html 2009-09-25 17:02 摘 要 ActiveX插件技术广泛的运用于B/S系统中,本文通过一个项目实例,详细介绍用ATL开发和部...

夏春涛 ⋅ 2009/10/12 ⋅ 0

ATL ActiveX开发入门

ATL,Active Template Library活动模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。通过活动模板库,可以建立COM组件,然后 通过ASP页面中的脚本对COM对象进行调用...

长征2号 ⋅ 2017/11/07 ⋅ 0

Activex、OLE、COM、OCX、DLL之间有什么区别?

熟悉面向对象编程和网络编程的人一定对ActiveX、OLE和COM/DCOM这些概念不会陌生,但是它们之间究竟是什么样的关系,对许多们还是比较模糊的。在具体介绍它们的关系之间,我们还是先明确组件(...

青夜之衫 ⋅ 2017/12/05 ⋅ 0

Activex/OLE/COM/OCX/DLL之间的区别

熟悉面向对象编程和网络编程的人一定对ActiveX、OLE和COM/DCOM这些概念不会陌生,但是它们之间究竟是什么样的关系,对许多们还是比较模糊的。在具体介绍它们的关系之间,我们还是先明确组件(...

zwz2008 ⋅ 2013/10/19 ⋅ 0

FLEX中调用JavaScript

其实只是FLEX中的一个“小”方法或技巧 涉及这个类: ExternalInterface 类是外部 API,这是一个在 ActionScript 和 Flash Player 容器之间实现直接通信的应用程序编程接口,例如,包含 Java...

hlyton ⋅ 2013/10/17 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Redis 单线程 为何却需要事务处理并发问题

Redis是单线程处理,也就是命令会顺序执行。那么为什么会存在并发问题呢? 个人理解是,虽然redis是单线程,但是可以同时有多个客户端访问,每个客户端会有 一个线程。客户端访问之间存在竞争...

码代码的小司机 ⋅ 51分钟前 ⋅ 0

到底会改名吗?微软GVFS 改名之争

微软去年透露了 Git Virtual File System(GVFS)项目,GVFS 是 Git 版本控制系统的一个开源插件,允许 Git 处理 TB 规模的代码库,比如 270 GB 的 Windows 代码库。该项目公布之初就引发了争...

linux-tao ⋅ 今天 ⋅ 0

笔试题之Java基础部分【简】【二】

1.静态变量和实例变量的区别 在语法定义上的区别:静态变量前要加static关键字,而实例变量前则不加。在程序运行时的区别:实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变...

anlve ⋅ 今天 ⋅ 0

Lombok简单介绍及使用

官网 通过简单注解来精简代码达到消除冗长代码的目的 优点 提高编程效率 使代码更简洁 消除冗长代码 避免修改字段名字时忘记修改方法名 4.idea中安装lombnok pom.xml引入 <dependency> <grou...

to_ln ⋅ 今天 ⋅ 0

【转】JS浮点数运算Bug的解决办法

37.5*5.5=206.08 (JS算出来是这样的一个结果,我四舍五入取两位小数) 我先怀疑是四舍五入的问题,就直接用JS算了一个结果为:206.08499999999998 怎么会这样,两个只有一位小数的数字相乘,怎...

NickSoki ⋅ 今天 ⋅ 0

table eg

user_id user_name full_name 1 zhangsan 张三 2 lisi 李四 `` ™ [========] 2018-06-18 09:42:06 星期一½ gdsgagagagdsgasgagadsgdasgagsa...

qwfys ⋅ 今天 ⋅ 0

一个有趣的Java问题

先来看看源码: public class TestDemo { public static void main(String[] args) { Integer a = 10; Integer b = 20; swap(a, b); System.out......

linxyz ⋅ 今天 ⋅ 0

十五周二次课

十五周二次课 17.1mysql主从介绍 17.2准备工作 17.3配置主 17.4配置从 17.5测试主从同步 17.1mysql主从介绍 MySQL主从介绍 MySQL主从又叫做Replication、AB复制。简单讲就是A和B两台机器做主...

河图再现 ⋅ 今天 ⋅ 0

docker安装snmp rrdtool环境

以Ubuntu16:04作为基础版本 docker pull ubuntu:16.04 启动一个容器 docker run -d -i -t --name flow_mete ubuntu:16.04 bash 进入容器 docker exec -it flow_mete bash cd ~ 安装基本软件 ......

messud4312 ⋅ 今天 ⋅ 0

OSChina 周一乱弹 —— 快别开心了,你还没有女友呢。

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @莱布妮子 :分享吴彤的单曲《好春光》 《好春光》- 吴彤 手机党少年们想听歌,请使劲儿戳(这里) @clouddyy :小萝莉街上乱跑,误把我认错成...

小小编辑 ⋅ 今天 ⋅ 9

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部