跨瀏覽器外掛程式架構FireBreath安裝與使用之一——Windows下的外掛程式
cheungmine
2012-9
FireBreath是一個瀏覽器外掛程式的架構(Browser Plugin framework),它提供一個簡單易用的跨OS(Windows, Mac, and Linux)和跨瀏覽器(IE,Firefox,Chrome,...)的NPAPI和ActiveX代碼架構自動產生解決方案。
在Windows+IE下的外掛程式產生架構,我們一般熟知的是ATL,這是微軟的架構體系,提供最強大和完整的IE下的COM/ActiveX編程支援。然而,隨著其他瀏覽器在Windows上的普及,我們經常遇到的問題是需要編寫跨各種瀏覽器的外掛程式(plugin)。外掛程式體系分為ActiveX控制項派和NPAPI外掛程式派,前者是微軟的體系,後者是netscape的體系(NPAPI - Netscape Plugin Application Programming Interface),NPAPI的曆史悠久,是除了IE瀏覽器外,多數瀏覽器的外掛程式標準。
用MFC或ATL編寫ActiveX是一件痛苦和折磨人的經曆,而寫NPAPI就相對簡單過了,下面的連結是Mozillia給出詳細的NPAPI的寫法:
http://mozilla.com.cn/post/21666/
本文的目的是用一個最簡單的例子對FireBreath作一個簡單介紹,讓初學者在10分鐘之內,就能編寫一個Windows平台上跨瀏覽器的外掛程式,是不是很酷啊?當然網上此類例子很多,我寫文章的目的也是做個筆記,給自己提個醒,畢竟懂的太多不是件好事,大腦容量有限啊。好了,廢話少說,言歸正題。你需要的開發環境是:
Windows7
Cygwin:(可選)這個是Windows上想開發一些跨平台軟體的必備利器,一定要安裝啊。
Python2.7 and later:我是把它安裝到Cygwin中。
VS2010
Git
1. 下載firebreath到c:/nv_workspace/fb.zip ,在Cygwin中用命令列下載:
$ ln -sT /usr/ssl /etc/ssl
$ wget -O /cygdrive/c/nv_workspace/fb.zip https://github.com/firebreath/FireBreath/zipball/firebreath-1.6
--2012-09-04 12:09:03-- https://github.com/firebreath/FireBreath/zipball/firebreath-1.6
Resolving github.com (github.com)... 207.97.227.239
Connecting to github.com (github.com)|207.97.227.239|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://nodeload.github.com/firebreath/FireBreath/zipball/firebreath-1.6 [following]
--2012-09-04 12:09:05-- https://nodeload.github.com/firebreath/FireBreath/zipball/firebreath-1.6
Resolving nodeload.github.com (nodeload.github.com)... 207.97.227.252
Connecting to nodeload.github.com (nodeload.github.com)|207.97.227.252|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1752858 (1.7M) [application/octet-stream]
Saving to: `/cygdrive/c/nv_workspace/fb.zip'
100%[===================================================================>] 1,752,858 69.1K/s in 19s
2012-09-04 12:09:26 (90.2 KB/s) - `/cygdrive/c/nv_workspace/fb.zip' saved [1752858/1752858]
下面的操作在Windows中:
2. 解壓fb.zip到C:\nv_workspace\firebreath-1.6
3. 以administrator身份運行 cmd,輸入下面的命令,以建立第一個外掛程式hello:
C:\nv_workspace\firebreath-1.6\python fbgen.py
然後會要求你輸入一堆的資訊,為方便都以小寫輸入。如下:
這個hello的外掛程式就建立好了。發下面的命令以準備VS2010的hello外掛程式工程:
C:\nv_workspace\firebreath-1.6\prep2010.cmd