Chrome擴展及應用開發(電子書)html
http://www.ituring.com.cn/minibook/950node
文檔web
官方chrome
https://developer.chrome.com/extensions/contentSecurityPolicyjson
百度翻譯windows
https://chajian.baidu.com/developer/apps/contentSecurityPolicy.htmlapi
https://chajian.baidu.com/developer/extensions/getstarted.html瀏覽器
extension服務器
分爲後臺腳本,網頁內容腳本,地址欄彈出頁面和一個配置頁面。 cookie
都須要在manifest.json裏面定義。
插入到每一個打開的頁面,能獲取該頁面的DOM,監聽事件,觸發事件
但不能得到頁面的js對象和變量等
一些行爲收到限制,能夠用的:(注意接發消息的兩個)
內容腳本是能夠選擇性插入的,在manifest.json permission 裏面用 正則表示
多框架網頁,"all_frames":true, 能夠插入頁面的每一個iframe
其餘頁面想給內容腳本發消息,必須經過 tabs ,而內容腳本使用 runtime.onMessage 接受信息
能夠經過調用 runtime.getBackgroundPage 得到。
事件頁面可能會被關閉,收到消息時再激活:
按期任務請使用 alarms api,
裝載事件 runtime.onInstalled
卸載事件 runtime.onSuspend
消息傳遞
https://chajian.baidu.com/developer/extensions/messaging.html
chrome.runtime.sendMessage
單個消息。若是向您本身的應用發送消息,每一個網頁中都會產生 runtime.onMessage 事件;
若是發送至另外一個應用則產生 runtime.onMessageExternal 事件。
注意,應用不能使用該方法向內容腳本發送消息。要向內容腳本發送消息,請使用 tabs.sendMessage。
alarms | 使用 chrome.alarms API 安排代碼週期性地運行或者在未來的指定時間運行。 |
browserAction | 使用瀏覽器按鈕能夠在百度瀏覽器主窗口地址欄右側的工具欄中添加圖標。除了圖標,瀏覽器按鈕還能夠有工具提示、徽章和彈出內容。 |
commands | 使用命令 API 添加快捷鍵,以便觸發應用中的操做,例如打開瀏覽器按鈕或嚮應用發送命令。 |
contextMenus | 使用 chrome.contextMenus API 向百度瀏覽器的右鍵菜單添加項目。您能夠選擇您在右鍵菜單中添加的項目應用於哪些類型的對象,例如圖片、超連接和頁面。 |
cookies | 使用 chrome.cookies API 查詢和修改 Cookie,並在 Cookie 更改時獲得通知。 |
extension | chrome.extension API 包含任何應用頁面都能使用的實用方法。它包括在應用和內容腳本之間或者兩個應用之間交換消息的支持,消息傳遞中詳細描述了這些內容。 |
i18n | 使用 chrome.i18n 架構爲您的整個應用或應用實現國際化支持。 |
idle | 使用 chrome.idle API 檢測計算機空閒狀態的更改。 |
management | chrome.management API 能夠用來管理已經安裝而且正在運行的應用或應用。 |
notifications | 使用 chrome.notifications API 經過模板建立豐富通知,並在系統托盤中向用戶顯示這些通知。 |
pageAction | 使用 chrome.pageAction API 在地址欄中添加圖標。頁面按鈕表明用於當前網頁的操做,可是不適用於全部網頁。 |
pageCapture | 使用 chrome.pageCapture API 將標籤頁保存爲 MHTML。 |
permissions | 使用 chrome.permissions API 在運行時而不是安裝時請求聲明的可選權限,這樣用戶能夠理解爲何須要這些權限,而且僅在必要時授予這些權限。 |
power | 使用 chrome.power API 修改系統的電源管理特性。 |
proxy | 使用 chrome.proxy API 管理百度瀏覽器的代理服務器設置。該模塊依賴於類型 API 中的 ChromeSetting 原型,用於獲取和設置代理服務器配置。 |
runtime | 使用 chrome.runtime API 獲取後臺網頁、返回清單文件詳情、監聽並響應應用或應用生命週期內的事件,您還可使用該 API 將相對路徑的 URL 轉換爲徹底限定的 URL。 |
storage | 使用 chrome.storage API 存儲、獲取用戶數據,追蹤用戶數據的更改。 |
system.cpu | 使用 chrome.system.cpu API 查詢 CPU 元數據。 |
system.memory | 使用 chrome.system.memory API 獲取內存信息。 |
system.storage | 使用 chrome.system.storage API 查詢存儲設備信息,並在鏈接或移除可移動存儲設備時獲得通知。 |
system.display | 使用 chrome.system.display API 查詢顯示器的元數據。 |
tabs | 使用 chrome.tabs API 與瀏覽器標籤頁交互。您可使用該 API 建立、修改或從新排列瀏覽器中的標籤頁。 |
tts | 使用 chrome.tts API 播放合成的文字語音轉換(TTS),同時請您參見相關的 ttsEngine API,容許應用實現語音引擎。 |
ttsEngine | 使用 chrome.ttsEngine API 在應用中實現文字語音轉換(TTS)引擎。若是您的應用註冊了該 API,當任何應用或百度瀏覽器應用使用 tts 模塊朗讀時,它會收到事件,包含要朗讀的內容以及其餘參數。您的應用可使用任何可用的網絡技術合成並輸出語音,並向調用方發送事件報告狀態。 |
webNavigation | 使用 chrome.webNavigation API 實時地接收有關導航請求狀態的通知。 |
webRequest | 使用 chrome.webRequest API 監控與分析流量,還能夠實時地攔截、阻止或修改請求。 |
windows | 使用 chrome.windows API 與瀏覽器窗口交互。您可使用該模塊建立、修改和從新排列瀏覽器中的窗口。 |