【转发】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 的强大 ...
随机推荐
- R语言介绍
R语言简介 R语言是一种为统计计算和图形显示而设计的语言环境,是贝尔实验室(Bell Laboratories)的Rick Becker.John Chambers和Allan Wilks开发的S语言 ...
- C#编程总结(十一)数字证书
C#编程总结(十一)数字证书 之前已经通过文章介绍了数字证书的基础知识,包括加密和数字签名. 具体可见: 1.C#编程总结(七)数据加密——附源码 2.C#编程总结(八)数字签名 这里来讲述数字证书的 ...
- .net项目引用C++ 动态链接库.dll
项目开发时可能需要调用其动态链接库,如C++动态链接库,实现相应功能,那么在C#里怎么调用C++库里的方法呢,如下提供两种方式. 方式一:建立一个C++项目,选择dll动态链接库如下. //stdaf ...
- jquery练习
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- Eclipse保存文件时自动格式化代码
实现效果:Ctrl+S会自动格式化并保存代码. 应用上图所示效果之后,在每次对Eclipse保存的时候都会实现自动格式化代码. 1. Fomated All lines,格式化该文件的所有代码:还是 ...
- hash简单介绍
hash也称"散列", 是一种基于映射关系的存储方式,将任意长度的二进制值输出为固定长度的较小的二进制值,这种输出的小的固定长度的值为hash值: 1. 散列技术是在关键字key与 ...
- jquery 集合操作
修剪字符串 $.trim(value) 功能: 删除传入的字符串开头和结尾的空白 [空白]匹配js正则中的\s,也就是包括空白,换行,回车,制表符,换页以及Unicode字符\u00A0 返回值: 返 ...
- [javascript] 判断 iframe 是否加载完成
from http://www.planabc.net/2009/09/22/iframe_onload/ var iframe = document.createElement("ifra ...
- Android开发跳槽、简历和面试的那些事
年后不久,就迎来了一年一度的招聘旺季,尤其,对于互联网行业来说,近些年的3月份被视为换工作的最高峰,已经没什么可以争议的了. 至今为止,在小组Android开发招聘这块,已经面试有近30人了.最后得出 ...
- Js 风骚的代码
1.写自动调用的匿名函数 当我们写完一个函数立即调用时,总是 function a(){ } a(); 或许 var a = function(){ } a(); 而高手总是 (function(){ ...