mac 下基于firebreath 開發多浏覽器支援的浏覽器插件
首先要區分什麼是浏覽器擴充和浏覽器插件;插件可以像本地程式一樣做的更多
一. 關于 firebreath
http://www.firebreath.org
firebreath 是一個誇平台,誇浏覽器的,開發浏覽器插件架構;
利用firebreath開發的浏覽器插件,可以在多浏覽器上安裝;并且提供多種平台下的解決方案比如mac,windows
二. 關于mac 使用 firebreath 開發浏覽器插件
官方教程 http://www.firebreath.org/display/documentation/Building+on+Mac+OS+X
1. 必須的東西
安裝Cmake http://www.cmake.org/download/ 建議下載下傳源碼包,檢視README 手動編譯安裝
mac 上安裝了 xocde
xcode 安裝了 Command Line Tools
firebreath 工具包從管網下載下傳
2.在下載下傳的frebreath包裡面
fbgen.py 是可以為你建立一個新的項目
prepmac.sh 可以為你編譯你的項目,生成一個基于xcode的工程,該工程使用xocde再編譯即可生成浏覽器插件
examples 為官方提供的幾個例子
./prepmac.sh examples 編譯項目,
如果出現cmake 錯誤;可能是cmake沒有安裝好;可以vim prepmac.sh 手動把cmake的指令路徑改為你下載下傳的cmake源碼裡面的bin/cmake路徑
注意:如果是自己建立的項目,會生成在projects 目錄,編譯的為duild目錄;官方demo編譯後為目錄 duildex
3. 用xcode 編譯生成的工程
找到上面編譯的工程,用xcode 打開工程,編譯 選擇target all_build;
如果編譯出錯,請選擇編譯的os x sdk 10.8 ; 不要用10.10;還有最好選用64位
4. 找到生成的插件 xxx.plugin
如果xcode編譯成功了,會在項目下生成 對應的xxx.plugin
如: buildex/projects/FBTestPlugin/Debug/FBTestPlugin.plugin
debug 和 release
5. 安裝插件 xxx.plugin
mac 的浏覽器插件安裝;是把 插件放在了 ~/Library/Internet Plug-Ins/ 目錄下;做個連接配接和是copy進去者行
如:做個連接配接 ln -s buildex/projects/FBTestPlugin/Debug/FBTestPlugin.plugin ~/Library/Internet Plug-Ins/
6:調試運作插件
在安裝上插件之後,重新啟動浏覽器,并打開 生成的網頁FBControl.htm
如: buildex/projects/FBTestPlugin/gen/FBControl.htm
在浏覽器上允許插件運作,點選 click me 等;hello world 即可;
到這裡,一個使用firebreath 開發的浏覽器插件hello world 完了;
三:使用C++,C 利用firebreath 開發插件實作 本地功能的 js 調用
比如我建立了一個 Demo 工程;
那麼用Xcode 打開建立的 Demo 工程
在 Demo 目錄下,即是 結合 Firebreath開發 咱們要寫代碼的地方;
其他都是架構的依賴,就不要動了;在這裡可以看到架構自動生成的示例
source files 是 源代碼目錄,一般放我們內建的cpp,c還可以在這裡連接配接mac下的靜态類庫等
Header Files 是我們提供的 對js調用的 接口頭檔案;就是c++,c 的方法聲明,并利用Firebreath架構 注冊;以提供給js調用;在上面的source files裡面實作
一般主要操作 DemoApi.h 聲明方法,并注冊到架構;在DemoApi.cpp 裡面去實作;
Generated 為生成的網頁目錄
這裡我們隻關心FBControl.htm ; 在這裡,添加一些js代碼,在js代碼裡面,去調用 架構聲明的接口方法;
按照示例代碼來即可;
四:firebreath 使用,進階功能開發等
http://www.firebreath.org/display/documentation/Using+FireBreath
其他的,自己看文檔吧
我目前用這個架構是為了開發,在mac下用浏覽器調試usb的指紋裝置;
核心層是 usb指紋驅動, c++的;
利用firebrath可以 把指紋驅動c++代碼,寫在架構 裡,并注冊接口,給js調用;
實作js 操作指紋裝置