chrome extension - 簡介

chrome extension 是一個小型的程序,它可以修改并增強 chrome 瀏覽器的功能。你可以使用 web技術(如 HTML,CSS,JavaScript)來編寫。一個擴展就是一個壓縮的包,里面有 HTML、CSS、JavaScript、圖片或者任何你需要的資源。從本質(zhì)上來講,擴展就是一個 web 頁面,它也可以使用瀏覽器為 web 頁面提供的 API,如 XMLHttpRequest、JSON、HTML5等。

擴展的用戶界面類型


擴展的用戶界面類型有兩種:

  • browser action:當你的擴展要操作大多數(shù)的網(wǎng)頁時,可以使用此類型。
  • page action:當你的擴展只操作部分網(wǎng)頁時,可以使用此類型。

擴展的目錄結構


一個擴展通常包含以下文件:

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

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

引用文件

在擴展中,你可以使用相對 URL 來引用文件:

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

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

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

manifest

manifest.json包含著擴展的重要信息,類似package.json

擴展的架構


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

background page

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

  • persistent background pages:一直打開著
  • event pages:按需打開和關閉

content script

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

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

UI pages

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

chrome.* API


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

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


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

隱身模式


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

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

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • chrome擴展開發(fā)入門教程 最近在開發(fā)chrome插件,看到一篇非常適合入門的教程,特記錄一下 注:轉載 本文首...
    謝大見閱讀 6,551評論 1 25
  • Chrome擴展開發(fā) 標簽(空格分隔): Chrome擴展 1、寫在前面 Chrome插件是一個用Web技術開發(fā)...
    記憶的時間差閱讀 6,134評論 0 15
  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,527評論 19 139
  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽默認的外補...
    _Yfling閱讀 14,108評論 1 92
  • 架構 總括:Manifest:程序清單Background:插件運行環(huán)境/主程序Pop up:彈出頁面Conten...
    程序員小逗逼閱讀 10,485評論 2 18

友情鏈接更多精彩內(nèi)容