从NPAPI与IE看微软有多恶搞php
最近须要写一个浏览器的扩展,该扩展要求能支持的浏览器“越多越好”。这让我对跨浏览器的浏览器插件开发了解了一番。果不其然,有个历史悠久的标准已经考虑到了这件事情,那就是NPAPI(Netscape Plugin API).html
在 NPAPI的介绍页上能够看到NPAPI几乎支持全部主流浏览器,连相对很嫩的Google Chrome都支持NPAPI。奇怪的是惟独浏览器中目前的绝对老大IE不支持。其实IE原本是支持NPAPI的,由于古时候Netscape的影响力还 是比IE大的。到了IE5.5 SP2的时候,IE就像一个青春期的男孩子,忽然志得意满,飞扬跋扈,因而就忽然把这块无数人使用的feature给搞掉了!json
微软当时自称去掉NPAPI主要是因为“Security reason", 微软因为担忧浏览器太过于安全,因此中止支持相对安全的NPAPI,改用致使木马肆虐的ActiveX。 固然对于码农们来讲,这都无所谓。浏览器
Working on an NPAPI-browser plugin http://www.codeproject.com/KB/cross-platform/NPAPIBrowserPlugin.aspx安全
_________________________________________________________________app
让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插件的网页。工具