本文同時發佈於知乎專欄:前端指南
轉載需提早聯繫做者,未經容許不得轉載。javascript
在接下來的一段時間內,我會在知乎專欄內陸續分享關於chrome插件的開發以及其餘關於前端好玩有趣的東西。但願你們持續關注。
今天的主題是教你們開發一個簡單的chrome瀏覽器插件。css
什麼是chrome瀏覽器插件?html
chrome瀏覽器插件說白了就是一個用html、javascript、css組成的一個webapp;相比於一般的app,chrome插件除了普通js的功能外,還能夠調用瀏覽器層面的api,包括書籤、歷史記錄等。前端
詳細瞭解去google開發者官網:https://developer.chrome.com/...java
go!開發web
老規矩,先給你們看一下最簡單項目的目錄結構chrome
簡單介紹一下:json
html:存放html頁面api
image:存放插件圖標瀏覽器
script:存放js文件
maniifest.json:一些關於插件的元數據,做爲chrome入口文件
關於manifest更詳細的信息,能夠訪問 Manifest File Format documentation。
下面我把構成最簡單chrome插件的最簡單代碼貼上來:
demo01.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>測試</title> </head> <body> <h2>go</h2> </body> </html>
demo01.js
(function(){ console.log('插件已經運行!'); })();
maniifest.json
{ "name": "go", "version": "0.0.1", "manifest_version": 2, // 描述 "description": "my first chrome plug", // 瀏覽器action "browser_action": { "default_icon": "image/icon.png", "default_popup": "html/demo01.html" }, // 腳本引入 "content_scripts": [ { "js": ["script/demo01.js"], // 匹配規則,在什麼狀況下使用該腳本 "matches": [ "http://*/*", "https://*/*" ], // 什麼狀況下運行【文檔加載開始】 "run_at": "document_start" } ], // 應用協議頁面 "permissions": [ "http://*/*", "https://*/*" ] }
咱們這個插件最後的效果就是,點擊插件以後會顯示一個h2的「go」文字框,js裏面那段當即執行函數會在控制檯打印出 「插件已經運行!」,最後的maniifest.json也已經寫好註釋,基本上都是見名知意。
go!安裝運行
如今基本上已經大功告成了,一個最簡單的chrome插件就已經完成了,是真的很簡單吧。
如今把咱們的第一個插件安裝一下,在chrome瀏覽器中輸入chrome://extensions,這時候會進入chrome擴展插件頁面,以下:
在安裝以前須要勾選上開發者模式,而後點擊左上角"加載已解壓的擴展程序",選擇項目的根目錄,個人根目錄是chrome插件,因此直接選擇該目錄,chrome就能夠根據maniifest.json的元數據對你的插件進行初始化了。
固然你也能夠把剛剛咱們作的項目打包,咱們暫時不討論這個問題。
好了,到目前爲止,咱們的插件已經能夠正常工做了,來看看效果吧!
是否是,咱們的的go已經顯示出來啦!說明demo01.html已經正常工做了,那麼咱們再測試一下demo01.js能不能正常工做,咱們隨便打開一個網頁,Windows下F12打開控制檯,能夠看到咱們打印的文字已經成功顯示出來了。
第一篇之結束語
相信很多同窗在看完了咱們開發之旅的第一篇文章以後,對chrome插件開發已經不陌生了,甚至已經以爲很簡單了,那麼請呵呵的笑一下,由於他確實簡單,也確實不簡單。插件這個東西難點不在技術,而在好的創意,插件是工具,工具就是用來解決問題的。
若是你跟着個人文章把目錄和文件都建好了,根據流程一步一步的作下去,那麼你的第一個插件也應該能夠成功運行了,固然若是中間還有一些小的問題,我會根據文後評論區同窗們的意見在第二篇的時候給你們詳細解答,而且下一篇文章chrom瀏覽器插件開發之旅(二)會給你們更深一點的介紹chrome插件。
後面的幾節課程會陸續開發幾個新奇有意思的chrome插件,你們拭目以待吧!