【转发】NPAPI学习(Firefox和Chrome扩展开发 )
NPAPI学习(Firefox和Chrome扩展开发 )
Firefox和Chrome扩展开发
从NPAPI与IE看微软有多恶搞
最近需要写一个浏览器的扩展,该扩展要求能支持的浏览器“越多越好”。这让我对跨浏览器的浏览器插件开发了解了一番。果不其然,有个历史悠久的标准已经考虑到了这件事情,那就是NPAPI(Netscape Plugin API).
在 NPAPI的介绍页上可以看到NPAPI几乎支持所有主流浏览器,连相对很嫩的Google Chrome都支持NPAPI。奇怪的是唯独浏览器中目前的绝对老大IE不支持。其实IE本来是支持NPAPI的,因为古时候Netscape的影响力还 是比IE大的。到了IE5.5 SP2的时候,IE就像一个青春期的男孩子,突然志得意满,飞扬跋扈,于是就突然把这块无数人使用的feature给搞掉了!
微软当时自称去掉NPAPI主要是由于“Security reason", 微软由于担心浏览器太过于安全,所以停止支持相对安全的NPAPI,改用导致木马肆虐的ActiveX。 当然对于码农们来说,这都无所谓。
Working on an NPAPI-browser plugin http://www.codeproject.com/KB/cross-platform/NPAPIBrowserPlugin.aspx
_________________________________________________________________
让ActiveX在FireFox和Chrome等NPAPI插件接口的浏览器(不安全)
从这个网址上下载ffactivex-setup-r37.exe后安装
http://code.google.com/p/ff-activex-host/downloads/list
这样firefox浏览器就可以正常浏览有ActiveX插件的网页,比如flash 的ActiveX控件:
<object
id="Control"
TYPE="application/x-itst-activex"
WIDTH="300" HEIGHT="300"
clsid="{D27CDB6E-AE6D-11cf-96B8-444553540000}"
progid="ShockwaveFlash.ShockwaveFlash"
event_OnReadyStateChange="OnReady"
param_src="http://www.youtube.com/v/53RdNYwImYc">
< /object>
在Chrome中,需要按如下方式安装,找到ffactivex的安装目录,新建一个“manifest.json”文本文件,拷贝下列内容后保存:
{
"name": "ActiveX hosting plugin for Firefox",
"version": "1.37.0.0",
"description": "ActiveX hosting plugin for Firefox r37",
"plugins":[{"path": "npffax.dll", "public": true}]
}
在Chrome中点选 扳手 -> 工具 -> 扩展程序
在界面上 点选 载入正在开发的扩展程序
将目录定位到 ffactivex安装目录,确定后即可浏览浏览包含ActiveX插件的网页。
【转发】NPAPI学习(Firefox和Chrome扩展开发 )的更多相关文章
- FireFox 浏览器插件/扩展开发学习
2014-11-08 内容存档在evernote,笔记名"FireFox 浏览器插件/扩展开发学习"
- Chrome扩展开发(Gmail附件管理助手)系列之〇——概述
目录: 0.Chrome扩展开发(Gmail附件管理助手)系列之〇——概述 1.Chrome扩展开发之一——Chrome扩展的文件结构 2.Chrome扩展开发之二——Chrome扩展中脚本的运行机制 ...
- Chrome扩展开发之一——Chrome扩展的文件结构
目录: 0.Chrome扩展开发(Gmail附件管理助手)系列之〇——概述 1.Chrome扩展开发之一——Chrome扩展的文件结构 2.Chrome扩展开发之二——Chrome扩展中脚本的运行机制 ...
- Chrome扩展开发基础教程(附HelloWorld)
1 概述 Chrome扩展开发的基础教程,代码基于原生JS+H5,教程内容基于谷歌扩展开发官方文档. 2 环境 Chrome 88.0.4324.96 Chromium 87.0.4280.141 B ...
- Chrome扩展开发之二——Chrome扩展中脚本的运行机制和通信方式
目录: 0.Chrome扩展开发(Gmail附件管理助手)系列之〇——概述 1.Chrome扩展开发之一——Chrome扩展的文件结构 2.Chrome扩展开发之二——Chrome扩展中脚本的运行机制 ...
- Chrome扩展开发之三——Chrome扩展中的数据本地存储和下载
目录: 0.Chrome扩展开发(Gmail附件管理助手)系列之〇——概述 1.Chrome扩展开发之一——Chrome扩展的文件结构 2.Chrome扩展开发之二——Chrome扩展中脚本的运行机制 ...
- Chrome扩展开发之四——核心功能的实现思路
目录: 0.Chrome扩展开发(Gmail附件管理助手)系列之〇——概述 1.Chrome扩展开发之一——Chrome扩展的文件结构 2.Chrome扩展开发之二——Chrome扩展中脚本的运行机制 ...
- 手把手教你Chrome扩展开发:本地存储篇
手把手教你开发chrome扩展一:开发Chrome Extenstion其实很简单 手把手教你开发Chrome扩展二:为html添加行为 手把手教你开发Chrome扩展三:关于本地存储数据 HTML5 ...
- 基于 webpack 的 chrome 扩展开发探索
起 最近利用闲暇时间在进行一款 chrome 扩展 V2EX-HELPER 的开发(如果巧遇 V 友欢迎试用),今天把它彻底改成了用 webpack 打包依赖的模式,不由得感概 webpack 的强大 ...
随机推荐
- Cursors in MySQL Stored Procedures
https://www.sitepoint.com/cursors-mysql-stored-procedures/ After my previous article on Stored Proce ...
- pymssql examples
http://pymssql.org/en/latest/pymssql_examples.html Example scripts using pymssql module. Basic featu ...
- B树详解
B树 具体讲解之前,有一点,再次强调下:B-树,即为B树.因为B树的原英文名称为B-tree,而国内很多人喜欢把B-tree译作B-树,其实,这是个非常不好的直译,很容易让人产生误解.如人们可能会以为 ...
- heX——基于 HTML5 和 Node.JS 开发桌面应用
heX 是网易有道团队的一个开源项目,允许你采用前端技术(HTML,CSS,JavaScript)开发桌面应用软件的跨平台解决方案.heX 是你开发桌面应用的一种新的选择,意在解决传统桌面应用开发中繁 ...
- ASP.NET使用jQuery AJAX实现MD5加密实例
一个asp.net ajax例子,使用jquery,实现md5加密.在.NET 4.0,Visual Studio 2010上成功运行. 效果体验:http://tool.keleyi.com/t/m ...
- 在不知下面有几个元素的时候,要去除最后一个元素的下边框jquery代码
<script> $(document).ready(function() { $(".search_list dl").each(function() {//遍历所有 ...
- JS常用的设计模式
单例模式 只创建类的唯一一个实例.我们看了好几种可以不通过构造函数和类Java语法达成单例的方法.从另一方面来说,JavaScript中所有的对象都是单例.有时候开发者说的单例是指通过模块化模式创建的 ...
- 如何用JavaScript探测CSS动画是否已经完成
不啰嗦上代码: WN:(function(){ var el = $('<fakeelement>'), transition="transition", transi ...
- AJAX跨域访问(从Tomcat8到Apache/Nginx)
1.在Tomcat的Root目录下放入如下的文件 apache-tomcat-8.0.12X64\webapps\ROOT clientaccesspolicy.xml文件 <?xml vers ...
- MSCRM 用户登录日志
MSCRM中关于用户登录信息,默认是不显示的,但是许多客户又有相关的需求. 下面将介绍给大家方法: 一.开启系统审核功能和用户访问审核. 二.打开设置中审核视图. 三.在过滤事件中选择“用户通过web ...