chrome插件開發(fā)入門



??Chrome的更新速度可以說前無古人辰如,現(xiàn)在我每天開機的第一件事就是打開Chrome檢查是不是有了新版本怎栽。界面清爽颊亮、操作人性化剔宪、網(wǎng)絡備份資料和快速的啟動速度令我愛不釋手拂铡,還有它擁有眾多的擴展程序,相對于firefox的插件來說葱绒,數(shù)量上和質量上稍顯不足感帅,但相信chrome將會很快在擴展上超越firefox,firefox上內存占用上實在不令人滿意地淀,也許我使用firefox的一個原因就是因為firebug失球,不過相信chrome平臺的類firebug插件也會很快出現(xiàn)。


Chrome的擴展開發(fā)十分簡單帮毁,我們只需要掌握web開發(fā)的html+CSS+Javascript实苞,就能很快開發(fā)出自己的擴展豺撑。


你需要了解的內容:

在開發(fā)前首先要掌握一些基礎知識。


<h4 id="step_1">1.Chrome擴展文件</h4>
??Chrome擴展文件以.crx為后綴名黔牵,在Google Chrome擴展官方網(wǎng)站下載擴展時聪轿,Chrome會將.crx文件下載到Chrome的Application Data文件夾的User Data\Temp下,一般是C:\Documents and Settings\User\Local Settings\Application Data\Google\Chrome\User Data\Temp荧止,安裝完成或者取消安裝屹电,該文件就會被刪除。.crx實際上是一個壓縮文件跃巡,使用解壓文件打開這個文件就可以看到其中的文件目錄危号,下圖中是擴展的截圖:



因此可以認為,我們實際上就是寫一個Web應用素邪,然后將按照Chrome的規(guī)定將一個快捷方式放在Chrome工具欄上外莲。

<h4 id="step_2">2.Browser Actions(擴展圖標)</h4>
??把Browser Actions翻譯成擴展圖標不是很準確,但它的功能就是把你的應用顯示在Chrome工具欄上兔朦。我們在上面看到一個文件manifest.json偷线,就是使用這個文件來把相應的圖標和其他參數(shù)注冊到Browser Actions。比如下圖中就是EverNote的擴展圖標沽甥。


<h4 id="step_3">3.Page Actions(地址欄圖標)</h4>
??如果你熟悉一些Chrome插件的話声邦,你一定會發(fā)現(xiàn)有些擴展的圖標不是顯示在地址欄的右邊,而是顯示在地址內部右方摆舟,這就是Page Actions地址欄圖標亥曹。



??可以看出上面中有三個Page Actions,圖中我標出的是Chrome添加書簽恨诱,現(xiàn)在你就會發(fā)現(xiàn)其實這個也是Chrome的擴展媳瞪,只不是它是直接內置在Chrome的。

??Page Actions與Browser Actions的區(qū)別就是Page Actions不是隨時都是顯示的照宝,必須在特定的頁面中這個功能才能使用蛇受。因此在開發(fā)中注意:如果不是全部頁面中都能使用的功能請使用Page Actions方式。

<h4 id="step_4">4.popup彈出窗口</h4>
??popup屬于Browser Actions厕鹃,當點擊圖標時出現(xiàn)這個窗口兢仰,可以在里面放置任何html元素,它的寬度是自適應的剂碴。當然把将,這個彈出窗口不會被Chrome攔截的。

如下圖中是evernote的popup窗口:

<h4 id="step_5">5.Background Pages后臺頁面</h4>
??這個窗口不會顯示汗茄,它是擴展程序的后臺服務秸弛,它會一直保持運行。比如在一些需要數(shù)據(jù)保存程序中,如果當前用戶關閉popup递览,就需要Background Pages來進行相應的操作叼屠。


<h3 id="step_6">實戰(zhàn)講解:</h3>

我們以一個簡單的插件來一步步講解。



上面就是插件的簡單頁面绞铃。



??圖標文件不要小于19px*19px镜雨,但最好也不要超過這個尺寸,雖然大圖它會自適應儿捧,但會使得應用文件變大荚坞。然后完成和未完成狀態(tài)的兩個圖標放到資源文件中,可以建立任意文件夾放進去菲盾,因為CSS文件把定義它們的路徑颓影。


建立manifest.json來定義我們程序配置:

{  
      "name": "helloChrome",  
      "version": "0.1.0",  
      "manifest_version":2,
      "description": "this is my demo.",  
      "browser_action": {  
        "default_icon": "icon.png" ,
        "default_title": "helloChrome",
        "default_popup": "popup.html"
      },
    "permissions": [
    "http://www.babybus.com/"
    ]
} 

其中name代表應用程序名,version代表版本號懒鉴,description代表功能描述诡挂。這些在安裝擴展后就能看到,見下圖:



??browser_action代表擴展圖標段顯示临谱,它會定義圖標地址璃俗、標題(也就是鼠標懸停提示)和默認的popup頁面。我們這里定義的popup頁面為popup.html悉默。

??接下來開始定義popup.html顯示城豁,它不需要使用<html>、<head>和<body>標簽抄课,可以直接寫上樣式唱星、腳本和html。我們的popup.html源碼為:

<html>
<head>
    <meta charset="UTF-8">
</head>
<body>
    <h4 style="text-decoration:underline">hello</h4>
    <font color=red>hello World</font>
    ![girl](http://upload-images.jianshu.io/upload_images/1745406-34ff0cbd7079fcc4.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
</body>
</html>

這樣我們文件就已經(jīng)建立完成剖膳,文件列表如下:



現(xiàn)在就可以先嘗試把它打包裝到自己的Chrome里魏颓。

首先打開Chrome-工具-擴展程序岭辣,展開開發(fā)人員模式吱晒,打到“打包擴展程序”按鈕:

點擊“打包擴展程序…”,彈出打包選擇文件窗口沦童,在擴展程序根目標中找到我們建立的文件夾仑濒,私有密碼文件第一次不用選擇:

點擊確定,它會在根文件夾同一級生成MyTaskList.crx和MyTaskList.pem偷遗,MyTaskList.pem是程序簽名文件墩瞳,以新版本的開發(fā)中還需要這個文件,不要刪除它氏豌。把MyTaskList.crx拖進Chrome窗體內喉酌,就會把這個應用MyTaskList安裝在Chrome里。


我們的這個簡單的插件就能看到效果了。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末泪电,一起剝皮案震驚了整個濱河市般妙,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌相速,老刑警劉巖碟渺,帶你破解...
    沈念sama閱讀 211,290評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異突诬,居然都是意外死亡苫拍,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評論 2 385
  • 文/潘曉璐 我一進店門旺隙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來绒极,“玉大人,你說我怎么就攤上這事蔬捷〖停” “怎么了?”我有些...
    開封第一講書人閱讀 156,872評論 0 347
  • 文/不壞的土叔 我叫張陵抠刺,是天一觀的道長塔淤。 經(jīng)常有香客問我,道長速妖,這世上最難降的妖魔是什么高蜂? 我笑而不...
    開封第一講書人閱讀 56,415評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮罕容,結果婚禮上备恤,老公的妹妹穿的比我還像新娘。我一直安慰自己锦秒,他們只是感情好露泊,可當我...
    茶點故事閱讀 65,453評論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著旅择,像睡著了一般惭笑。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上生真,一...
    開封第一講書人閱讀 49,784評論 1 290
  • 那天沉噩,我揣著相機與錄音,去河邊找鬼柱蟀。 笑死川蒙,一個胖子當著我的面吹牛,可吹牛的內容都是我干的长已。 我是一名探鬼主播畜眨,決...
    沈念sama閱讀 38,927評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼昼牛,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了康聂?” 一聲冷哼從身側響起匾嘱,我...
    開封第一講書人閱讀 37,691評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎早抠,沒想到半個月后霎烙,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,137評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡蕊连,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,472評論 2 326
  • 正文 我和宋清朗相戀三年悬垃,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片甘苍。...
    茶點故事閱讀 38,622評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡尝蠕,死狀恐怖,靈堂內的尸體忽然破棺而出载庭,到底是詐尸還是另有隱情看彼,我是刑警寧澤,帶...
    沈念sama閱讀 34,289評論 4 329
  • 正文 年R本政府宣布囚聚,位于F島的核電站靖榕,受9級特大地震影響,放射性物質發(fā)生泄漏顽铸。R本人自食惡果不足惜茁计,卻給世界環(huán)境...
    茶點故事閱讀 39,887評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望谓松。 院中可真熱鬧星压,春花似錦、人聲如沸鬼譬。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽优质。三九已至竣贪,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間盆赤,已是汗流浹背贾富。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工歉眷, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留牺六,地道東北人。 一個月前我還...
    沈念sama閱讀 46,316評論 2 360
  • 正文 我出身青樓汗捡,卻偏偏與公主長得像淑际,于是被迫代替她去往敵國和親畏纲。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,490評論 2 348

推薦閱讀更多精彩內容