chrome插件製做css
我一開始看網上教程的時候看的很懵,你們的chrome插件的教程都大可能是給你個demo看看,看完了也不知道該怎麼寫本身想要的插件。html
先推薦幾個網址:chrome
http://www.ituring.com.cn/article/110929 圖靈社區的比較正規、能夠出書的chrome插件學習文檔(推薦)json
http://open.chrome.360.cn/extension_dev/overview.html 360翻譯的chrome插件手冊(可是比較老,好久沒更新)api
https://developer.chrome.com/extensions (chrome本身的手冊,缺點是須要FQ,一些api到這邊來查比較好的)數組
在製做一個chrome插件過程當中,manifest.json文件是很是重要的,它是chrome解讀你插件須要chrome如何配合你,如何一點點實現的關鍵。大多教程裏不多講的很細,我這邊不必定全,可是能夠供參考。app
作拓展插件:https://developer.chrome.com/extensions/manifest框架
作頁面app:https://developer.chrome.com/apps/manifest函數
{ "manifest_version": 2, "name": "哈哈哈", "version": "1.0", "description": "哈哈哈", "content_scripts": [ { "matches": ["*://www.baidu.com/"], "js": ["do_something_in_baidu.js"] } ] }
manifest大體就是上面這種樣子的一個文件,而後細講屬性:學習
manifest_version:2 // 這個只能是2,貌似想在可用的版本就是2
name、author、book // 應該都看得懂吧...不解釋
version // 你插件的版本號(manifest_version、name、version是每個manifest都必需要有的,不能缺)
default_locale // 默認文字,通常填en
description // 描述、簡述
icons // 通常提供16px、48px、128px三種,以對象格式聲明
permission // 這個通常是容許什麼網站經過你的插件(貌似是這個意思...錯了能夠幫我指出錯誤..)
browser_action //
content_scripts // 屬性值爲數組類型,數組的每一個元素能夠包含matches、exclude_matches、css、js、run_at、all_frames、include_globs和exclude_blobs等屬性。
// 其中matches屬性定義了哪些頁面會被注入腳本,exclude_matches則定義了哪些頁面不會被注入腳本,css和js對應要注入的樣式表和JavaScript,run_at定義了什麼時候進行注入,all_frames定義腳本是否會注入到嵌入式框架中,include_globs和exclude_globs則是全局URL匹配,最終腳本是否會被注入由matches、exclude_matches、include_globs和exclude_globs的值共同決定
// 簡單的說,若是URL匹配matches值的同時也匹配include_globs的值,會被注入;若是URL匹配exclude_matches的值或者匹配exclude_globs的值,則不會被注入。
// content_scripts中的腳本只是共享頁面的DOM1,而並不共享頁面內嵌JavaScript的命名空間。也就是說,若是當前頁面中的JavaScript有一個全局變量a,content_scripts中注入的腳本也能夠有一個全局變量a,二者不會相互干擾。固然你也沒法經過content_scripts訪問到頁面自己內嵌JavaScript的變量和函數。
長期更新~~~