NPAPI学习(Firefox和Chrome扩展开发 )

2011-11-08 14:41:02 by 【6yang】, 1172 visits, 收藏 | 返回

FirefoxChrome

从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扩展开发 )的更多相关文章

  1. FireFox 浏览器插件/扩展开发学习

    2014-11-08 内容存档在evernote,笔记名"FireFox 浏览器插件/扩展开发学习"

  2. Chrome扩展开发(Gmail附件管理助手)系列之〇——概述

    目录: 0.Chrome扩展开发(Gmail附件管理助手)系列之〇——概述 1.Chrome扩展开发之一——Chrome扩展的文件结构 2.Chrome扩展开发之二——Chrome扩展中脚本的运行机制 ...

  3. Chrome扩展开发之一——Chrome扩展的文件结构

    目录: 0.Chrome扩展开发(Gmail附件管理助手)系列之〇——概述 1.Chrome扩展开发之一——Chrome扩展的文件结构 2.Chrome扩展开发之二——Chrome扩展中脚本的运行机制 ...

  4. Chrome扩展开发基础教程(附HelloWorld)

    1 概述 Chrome扩展开发的基础教程,代码基于原生JS+H5,教程内容基于谷歌扩展开发官方文档. 2 环境 Chrome 88.0.4324.96 Chromium 87.0.4280.141 B ...

  5. Chrome扩展开发之二——Chrome扩展中脚本的运行机制和通信方式

    目录: 0.Chrome扩展开发(Gmail附件管理助手)系列之〇——概述 1.Chrome扩展开发之一——Chrome扩展的文件结构 2.Chrome扩展开发之二——Chrome扩展中脚本的运行机制 ...

  6. Chrome扩展开发之三——Chrome扩展中的数据本地存储和下载

    目录: 0.Chrome扩展开发(Gmail附件管理助手)系列之〇——概述 1.Chrome扩展开发之一——Chrome扩展的文件结构 2.Chrome扩展开发之二——Chrome扩展中脚本的运行机制 ...

  7. Chrome扩展开发之四——核心功能的实现思路

    目录: 0.Chrome扩展开发(Gmail附件管理助手)系列之〇——概述 1.Chrome扩展开发之一——Chrome扩展的文件结构 2.Chrome扩展开发之二——Chrome扩展中脚本的运行机制 ...

  8. 手把手教你Chrome扩展开发:本地存储篇

    手把手教你开发chrome扩展一:开发Chrome Extenstion其实很简单 手把手教你开发Chrome扩展二:为html添加行为 手把手教你开发Chrome扩展三:关于本地存储数据 HTML5 ...

  9. 基于 webpack 的 chrome 扩展开发探索

    起 最近利用闲暇时间在进行一款 chrome 扩展 V2EX-HELPER 的开发(如果巧遇 V 友欢迎试用),今天把它彻底改成了用 webpack 打包依赖的模式,不由得感概 webpack 的强大 ...

随机推荐

  1. 15天玩转redis —— 第八篇 你不得不会的事务玩法

    我们都知道redis追求的是简单,快速,高效,在这种情况下也就拒绝了支持window平台,学sqlserver的时候,我们知道事务还算是个比较复杂的东西, 所以这吊毛要是照搬到redis中去,理所当然 ...

  2. hibernate----1-1-----两表关联属性放在另一个表里面

    package com.ij34.dao; import javax.persistence.*; @Entity @Table(name="Address_inf") publi ...

  3. Firemonkey 载入 Style 皮肤 (*.fsf 二进制文件) 速度测试

    说明:Firemonkey 可以换肤是一大亮点,但使用它必须要付出一点代价,就是需要一点载入的时间,下面以 *.fsf 二进制文件来做载入测试,有兴趣可以参考看看. 开发:XE8 for iOS 皮肤 ...

  4. Atitit. 获取cpu占有率的 java c# .net php node.js的实现

    Atitit. 获取cpu占有率的 java c# .net php node.js的实现 通过wmic接口获取cpu占有率 C:\Users\Administrator.ATTILAXPC188&g ...

  5. mysql 常用

    create database jobs;grant all on jobs.* to root@'%' identified by '111111';flush privileges;

  6. 线程(三)__Interrupt 、setDaemon()、join

    一.wait和sleep区别? 1.wait可以指定也可以不指定.sleep必须指定时间. 2.在同步中时,对cpu的执行权和锁的处理不同.它们都能将线程处于冻结状态. wait:释放执行权,释放锁. ...

  7. Linux学习笔记16--Linux扩展权限

    默认权限: 每一个终端都有一个umask属性,用于确定新建文件.新文件夹的默认权限. umask使用数字权限方式表示,如:022   一般来说,普通用户的默认umask是002,root用户的默认um ...

  8. SequenceInputStream

    SequenceInputStream从名字上看, 他是一个序列字节输入流 既然是个序列 那么意味着 SequenceInputStream装着许多的输入流 所以 可以用他来合并文件 Sequence ...

  9. C#的库存管理之旅的别样意义

    我不知道大家对C#的一些基础知识掌握得怎么样了? 但无论怎么样,都应该静心下来去慢慢品味我的总结以及“库存管理”项目需用到的一些知识和技巧.你将会得到你料想不到的收获哦. 知识梳理: 数据类型:boo ...

  10. JAVASCRIPT实现网页版:俄罗斯方块

    HTML+CSS+JS实现俄罗斯方块完整版,素材只有图片,想要的下载图片按提示名字保存,css中用的时候注意路径!!主要在JS中!JS附有详细注释 效果: 按键提示:[键盘按键] 素材:图片名字与代码 ...