按照 Chrome 擴展 : 歡迎中的引導,接觸到的相關介紹。html
本頁簡要介紹了 Chrome 擴展,並介紹瞭如何建立一個 「Hello,World!」 擴展。git
擴展是定製瀏覽體驗的小型軟件程序。它們容許用戶以多種方式定製 Chrome 的功能和行爲,例如:github
這些只是擴展能夠作的許多事情的幾個例子。在 Chrome 網絡商店 中能夠看到成千上萬個不一樣的已發佈擴展現例。web
擴展是基於諸如 HTML 、JavaScript 和 CSS 等 web 技術構建的。它們在單獨的沙盒執行環境中運行,並與 Chrome 瀏覽器交互。chrome
擴展容許你經過使用 API 修改瀏覽器行爲和訪問 web 內容來「擴展」瀏覽器。擴展經過終端 UI 和開發人員 API 進行操做:json
擴展用戶接口 :這爲用戶管理其擴展提供了一致的方法。api
擴展 API :擴展 API 容許擴展的代碼訪問瀏覽器自己的功能:激活選項卡、修改網絡請求等等。瀏覽器
要建立擴展,你須要組裝一些資源 -- 一個 manifest、JavaScript 和 HTML文件、圖像和其它資源 -- 這些資源組成了擴展。對於開發和測試,你可使用 擴展開發人員模式 將這些「未打包」加載到 Chrome 中。一旦你對擴展感到滿意,就能夠打包並分發給用戶。網絡
大多數 Chrome 用戶從 Chrome 網絡商店 得到擴展。全球的開發者在 Chrome 網絡商店中發佈他們的擴展,在那裏擴展被審查並提供給終端用戶。app
你能夠經過 Chrome 開發人員儀表板分發擴展,並將其發佈到 Chrome 網絡商店。有關更多信息,請參閱 Chrome 網絡商店開發者文檔。
Chrome 網絡商店上的擴展必須遵照 Chrome 網絡商店政策。在你開始時,請記住如下幾點:
經過這個快速的 Hello extensions 示例,初步進入擴展。首先建立一個新目錄來存儲擴展名的文件,或者從示例頁下載它們。
接着,建立名爲 manifest.json
的文件,幷包含如下代碼:
{ "name": "Hello Extensions", "description": "Base Level Extension", "version": "1.0", "manifest_version": 3 }
每一個擴展都須要一個 manifest ,儘管大多數擴展僅僅依靠 manifest 作不了多少事情。對於此快速開始,擴展在 action 字段下聲明瞭一個彈出文件和圖標:
{ "name": "Hello Extensions", "description": "Base Level Extension", "version": "1.0", "manifest_version": 3, + "action": { + "default_popup": "hello.html", + "default_icon": "hello_extensions.png" + } }
下載 hello_extensions.png 並建立一個名爲 hello.html
的文件。
<html> <body> <h1>Hello Extensions</h1> </body> </html>
這個擴展在點擊圖標時,將顯示擴展 hello.html
。下一步是在 manifest.json
添加一個啓用鍵盤快捷鍵的命令。這一步頗有趣,但不是必須的:
{ "name": "Hello Extensions", "description": "Base Level Extension", "version": "1.0", "manifest_version": 3, "action": { "default_popup": "hello.html", "default_icon": "hello_extensions.png" } + "commands": { + "_execute_action": { + "suggested_key": { + "default": "Ctrl+Shift+F", + "mac": "MacCtrl+Shift+F" + }, + "description": "Opens hello.html" + } + } }
最後一步就是在你本地設備上安裝擴展。
chrome://extensions
。你還能夠經過單擊地址欄右上角的 Chrome 菜單,將鼠標懸停在更多工具上並選擇擴展程序來訪問此頁。
恭喜!如今你能夠經過點擊 hello_world.png 圖標或在鍵盤上按快捷鍵 Ctrl+Shift+F
來使用基於彈出窗口的擴展。
我的在按照文檔作的時候,以爲有些地方漏了,添加了些補充:
background
字段,因此在瀏覽器加載了擴展後,會立刻打開一個 Tab 頁面。