Firefox Add-on 製作
介紹
注意 Windows 開發要安裝 Python 2.X 版本,3.X 版本不能用
另外以下使用 cfx 指令,不過之後推薦改用 jpm,jpm 指令需要用 npm 安裝,所以你要先安裝 nodejs
下面分別示範 cfx 和 jpm
使用 cfx 開發
此篇記錄 Linux 開發實作內容,首先建立資料夾 mozilla
然後下載 Add-on SKD 放進去解壓縮,此時結構如下
1 | addon-sdk-1.17/ |
接著執行 source bin/activate
,執行完前面會出現 (addon-sdk-1.17)
1 | (addon-sdk-1.17)jason.cc.chiu:~/mozilla$ |
現在建立一個我們的專案目錄(附加元件),依照你想要的名稱命名
1 | mkdir mdn-mod |
完成之後可以用 tree 指令來看一下架構
tree 指令並非預設指令,需要自行安裝 sudo apt-get install tree
1 | (addon-sdk-1.17)jason.cc.chiu:~/mozilla$ tree mdn-mod/ |
package.json 填寫參考這裡
預設內如如下
1 | { |
使用 page-mod API
此 API 作用為,當使用者進入某網頁時,自動插入 JavaScript 到此頁面
API 介紹參考這裡
打開 lib/main.js 加入
1 | // 匯入 SKD 檔案 |
現在新增 my-script.js 到 data 資料夾下面,並將下面程式碼加入其中
1 | // 將 body tag 設為紅色 |
現在近來進行測試,一般可以執行 cfx run,他會開啟乾淨的瀏覽器幫我們測試
但如果有問題你也可以直接安裝到你目前瀏覽器測試
要直接安裝需要打包,在 mdn-mod
資料夾下執行 cfx xpi
會產生一個 mdn-mod.xpi
檔案,現在在瀏覽器中按下 Ctrl+Shift+A
打開附加元件介面
右上角有個齒輪 > 從檔案安裝附加元件 > 選擇剛剛產生出來的 mdn-mod.xpi
預設情況下會跳出錯誤,說你的附加元件沒有經過驗證不能安裝
所以我們要把檢查的功能關掉,關掉步驟參考這裡
記住測試完附加元件要再打開比較安全,安裝好之後就可以打開Mozilla網站測試
成功的話背景會變成紅色
使用 jpm 開發
注意,要安裝 jpm 你需要安裝 nodejs,先檢查你是否成功安裝 nodejs
輸入 node -v
看是否有出現版本,如果有再執行
1 | npm install jpm --global |
安裝成功後執行 jpm -V
看是否安裝成功,jpm 使用方式和 cfx 基本上一樣
首先也是建立新的資料夾 mdn-mod,然後進入輸入 jpm init
接下來會自動問你一些訊息來產生 package.json 如下
1 | title: (My Jetpack Addon) |
不過產生出來的架構和 cfx 有點不一樣
1 | mdn-mod/ |
index.js 是進入的程式碼,所以一樣放入以下程式碼
1 | var pageMod = require("sdk/page-mod"); |
然後自己建立 data 資料夾並放入 my-script.js,而 my-script.js 放入以下程式碼
1 | document.body.style.background="red"; |
現在執行 jpm run
測試,成功一樣背景會出現紅色,這種方法就不用改驗證權限
接下來新增按鈕,在 my-script.js 下面加上
1 | var button = "<button onClick='alert(\"Hi!\")'>CLICK ME</button>"; |