chrome extension - 簡介

chrome extension 是一個小型的程序奕枢,它可以修改并增強(qiáng) chrome 瀏覽器的功能健田。你可以使用 web技術(shù)(如 HTML烛卧,CSS,JavaScript)來編寫妓局。一個擴(kuò)展就是一個壓縮的包总放,里面有 HTML、CSS好爬、JavaScript局雄、圖片或者任何你需要的資源。從本質(zhì)上來講存炮,擴(kuò)展就是一個 web 頁面炬搭,它也可以使用瀏覽器為 web 頁面提供的 API,如 XMLHttpRequest穆桂、JSON宫盔、HTML5等。

擴(kuò)展的用戶界面類型


擴(kuò)展的用戶界面類型有兩種:

  • browser action:當(dāng)你的擴(kuò)展要操作大多數(shù)的網(wǎng)頁時享完,可以使用此類型灼芭。
  • page action:當(dāng)你的擴(kuò)展只操作部分網(wǎng)頁時,可以使用此類型般又。

擴(kuò)展的目錄結(jié)構(gòu)


一個擴(kuò)展通常包含以下文件:

  • manifest.json
  • HTML 文件
  • 可選的 JS 文件
  • 可選的其他文件(圖片彼绷、字體等等)

當(dāng)你分發(fā)(distribute)擴(kuò)展時,這些內(nèi)容都會打包進(jìn)一個后綴是.crx的 ZIP 文件中茴迁。

引用文件

在擴(kuò)展中寄悯,你可以使用相對 URL 來引用文件:

![](./images/foo.png)

也可以使用絕對 URL 來引用文件,但這時候需要使用預(yù)定義信息 @@extension_id

![](chrome-extension://__MSG_@@extension_id__/images/foo.png)

manifest

manifest.json包含著擴(kuò)展的重要信息堕义,類似package.json热某。

擴(kuò)展的架構(gòu)


很多擴(kuò)展都含有一個包含擴(kuò)展的主要邏輯的隱形的頁面,這個頁面就是background page。如果一個擴(kuò)展要和用戶加載的 web 頁面進(jìn)行交互昔馋,那么需要使用到content script筹吐。

background page

background page 通過background.html來定義,background.html可以包含控制擴(kuò)展行為的 JS 代碼秘遏。
background page 可以分為兩類:

  • persistent background pages:一直打開著
  • event pages:按需打開和關(guān)閉

content script

如果你需要和瀏覽器加載的 web 頁面交互的話丘薛,則需要使用 content script 。content script 在瀏覽器加載的 web 頁面的上下文中運行邦危,可以看成是瀏覽器加載的 web 頁面的一部分洋侨。

content script 可以改變當(dāng)前瀏覽的 web 頁面的內(nèi)容,但是不能修改擴(kuò)展的 background page倦蚪。當(dāng)然 content script 也沒有和擴(kuò)展完全的分離開希坚,還是可以和擴(kuò)展交換信息的。

UI pages

在擴(kuò)展中的 HTML 頁面可以訪問到其他頁面的 DOM陵且,也可以調(diào)用其他頁面的函數(shù)裁僧。

chrome.* API


擴(kuò)展除了可以訪問瀏覽器為 web 頁面提供的 API,還可以訪問 chrome-only API慕购。

存儲數(shù)據(jù)


擴(kuò)展可以使用storageAPI聊疲,HTML5 web storage API或者服務(wù)器來存儲數(shù)據(jù)。

隱身模式


incognito mode保證窗口不會留下任何的痕跡沪悲。所以當(dāng)處理隱身模式下的數(shù)據(jù)時获洲,盡可能的遵循這一點。

通過相關(guān)的tabs.Tab或者window.Windowincognito屬性來判斷是否處于隱身模式:

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末殿如,一起剝皮案震驚了整個濱河市贡珊,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌涉馁,老刑警劉巖门岔,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異谨胞,居然都是意外死亡固歪,警方通過查閱死者的電腦和手機(jī)蒜鸡,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進(jìn)店門胯努,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人逢防,你說我怎么就攤上這事叶沛。” “怎么了忘朝?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵灰署,是天一觀的道長。 經(jīng)常有香客問我,道長溉箕,這世上最難降的妖魔是什么晦墙? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮肴茄,結(jié)果婚禮上晌畅,老公的妹妹穿的比我還像新娘。我一直安慰自己寡痰,他們只是感情好抗楔,可當(dāng)我...
    茶點故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著拦坠,像睡著了一般连躏。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上贞滨,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天入热,我揣著相機(jī)與錄音,去河邊找鬼疲迂。 笑死才顿,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的尤蒿。 我是一名探鬼主播郑气,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼腰池!你這毒婦竟也來了尾组?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤示弓,失蹤者是張志新(化名)和其女友劉穎讳侨,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體奏属,經(jīng)...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡跨跨,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了囱皿。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片勇婴。...
    茶點故事閱讀 39,785評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖嘱腥,靈堂內(nèi)的尸體忽然破棺而出耕渴,到底是詐尸還是另有隱情,我是刑警寧澤齿兔,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布橱脸,位于F島的核電站础米,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏添诉。R本人自食惡果不足惜屁桑,卻給世界環(huán)境...
    茶點故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望栏赴。 院中可真熱鬧掏颊,春花似錦、人聲如沸艾帐。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽柒爸。三九已至准浴,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間捎稚,已是汗流浹背乐横。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留今野,地道東北人葡公。 一個月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像条霜,于是被迫代替她去往敵國和親催什。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,713評論 2 354

推薦閱讀更多精彩內(nèi)容

  • chrome擴(kuò)展開發(fā)入門教程 最近在開發(fā)chrome插件宰睡,看到一篇非常適合入門的教程蒲凶,特記錄一下 注:轉(zhuǎn)載 本文首...
    謝大見閱讀 6,432評論 1 25
  • Chrome擴(kuò)展開發(fā) 標(biāo)簽(空格分隔): Chrome擴(kuò)展 1、寫在前面 Chrome插件是一個用Web技術(shù)開發(fā)...
    記憶的時間差閱讀 6,031評論 0 15
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理拆内,服務(wù)發(fā)現(xiàn)旋圆,斷路器,智...
    卡卡羅2017閱讀 134,654評論 18 139
  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案麸恍? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 13,751評論 1 92
  • 架構(gòu) 總括:Manifest:程序清單Background:插件運行環(huán)境/主程序Pop up:彈出頁面Conten...
    程序員小逗逼閱讀 10,350評論 2 18