Chrome Extension 開發與實作 12

網址列輸入組件(chrome.omnibox)

什麼是網址列輸入組件

omnibox輸入組件,主要是允許使用者在網址列,輸入特定的關鍵字(並按下tab),來啟動你的Extension,接著你能籍由監聽使用者的輸入行為來實作操作邏輯。

閱讀全文 »

Chrome Extension 開發與實作 11

輸入組件 右鍵功能選單(chrome.contextMenus)

什麼是右鍵功能選單輸入組件

Chrome提供開發者可以跟使用者正在關注的上下文進行互動(圖片,連結,選取文字),而使用者可以在按下滑鼠右鍵時,看見擴充功能項目。

閱讀全文 »

Chrome Extension 開發與實作 10

快捷鍵輸入組件 Shortcut Key or Commands

快捷鍵輸入組件的簡介

Chrome允許Extension設定多組快捷鍵,當這個快捷鍵被觸發時,可以處理對應的操作。快捷鍵設定使用Command API。

閱讀全文 »

Chrome Extension 開發與實作 09

啟用頁面按鈕

本篇請與上一篇一起服用。

閱讀全文 »

Chrome Extension 開發與實作 08

輸入組件:瀏覽器按鈕與頁面按鈕

什麼是按鈕Action

Chrome允許你設定一個icon在網址列的右側,當使用者點擊icon時,會展開一個由開發者自訂內容的彈出介面,來與使用者互動。而根據使用時機的不同,有兩個類似的輸入組件分別是瀏覽器按鈕(Browser Acction) 與 頁面按鈕(Page Action)。

在眾多輸入組件中,是最直觀的UI元素,也是許多開發者的第一選擇,接下來比較看看兩者的差別,幫助你挑選適合的方案。

閱讀全文 »

Chrome Extension 開發與實作 07

內容腳本(content script)之臉書下雪了

什麼是內容腳本

內容腳本是在網頁的上下文中運行的JavaScript文件,它們可以通過標準的文檔對像模型(DOM)來獲得瀏覽器訪問的網頁的資訊,甚至可以對其DOM物件作出增刪除修改的動作,也能監聽來自網頁中的事件。

擴充功能籍由內容腳本的注入,便可間接與使用者載入的網頁溝通,進而提供與網頁內容相關的功能。

閱讀全文 »

Chrome Extension 開發與實作 06

事件腳本與背景頁面

什麼是事件腳本

Extension的功能實作由於腳本之間無法直接進行溝通,所以非常依靠事件趨動來傳送訊息,處理操作邏輯,事件腳本可以被視為是Extension的Controller,所有的事件最後都會回到事件腳本身上集中處理。

閱讀全文 »

Chrome Extension 開發與實作 05

腳本組件與擴充功能的執行階段

擴充套件與網頁的執行階段

基本上我們可以把Extension想成一個獨立的網站,他跟使用者載入頁面是完全獨立的兩個個體,擁有不同的執行階段,並且兩者之間只能籍由注入內容腳本來溝通(處理跨網域的問題)。

閱讀全文 »

Chrome Extension 開發與實作 04

名詞定義:架構的組成部份

前面兩篇都是官網的新手教學,而這篇跟上一篇文章討論的東西(官網的overview)有點重複,我們將探索Creating Google Chrome Extensions一書中,作者對Extension的架構歸納,有助於我們在接下來的討論中取得共識。

閱讀全文 »

Chrome Extension 開發與實作 03

官網導讀:架構總覽Architecture Overview

進一步的說明什麼是Chrome Extension

  • extension是一個HTML、CSS、JS、images,以及你extension中需要的任何東西,打包成的一個壓縮檔,事實上extension就是一個web pages app。

  • 這個APP可以使用Broswer提供的API,諸如:Standard JavaScript APIs、XMLHttpRequest、HTML5 等,跟一般的web APP無異。

  • extension可以經由 content scriptscross-origin XMLHttpRequests與頁面或伺服器互動。

  • extension也可以用JS與Chrome的功能互動,例如:bookmarkstabs.

閱讀全文 »