常見問題

如果在這裡找不到問題的解答,請參閱 Chrome 線上應用程式商店常見問題Stack Overflowchromium-extensions 群組商店說明

一般

什麼是 Google Chrome 擴充功能?

Google Chrome 擴充功能是在 Chrome 瀏覽器中執行的應用程式, 功能、與第三方網站或服務整合,以及自訂瀏覽功能 這點十分重要

如何設定 Chrome 專用的擴充功能?

只要您使用的 Chrome 支援擴充功能,就能取得所有功能 您必須先自行編寫擴充功能首先,您可以啟用開發人員模式。

按一下 Chrome 選單圖示,然後在「工具」選單中選取「擴充功能」。請確認 「開發人員模式」核取方塊已勾選。您現在可以重新載入 擴充功能,如同封裝擴充功能,載入解壓縮的檔案目錄等等。換 完整教學課程,請參閱入門指南

使用哪些技術編寫 Chrome 擴充功能?

擴充功能是以開發人員用來建立 網站。HTML 可做為內容標記語言使用,CSS 則用於樣式設定,JavaScript 則用於 編寫指令碼Chrome 支援 HTML5 和 CSS3,因此開發人員可以使用最新的開放網路 例如 Canvas 和 CSS 動畫擴充功能也可以使用 多個 JavaScript API 能協助執行 JSON 編碼等函式,以及與 。

每次載入瀏覽器時,系統都會從網路擷取擴充功能嗎?

擴充功能會在安裝時由 Chrome 瀏覽器下載,然後 本機磁碟,藉此提高效能不過,如果推送新版擴充功能 系統會在背景中自動下載所有擴充功能的使用者 已安裝。擴充功能也可能隨時要求遠端內容以便與 就可以透過網路服務,或是從網路上擷取新內容。

如何判斷將哪個 Chrome 版本部署至哪個版本?

如要判斷目前各平台所供應的 Chrome 版本為何, 前往 omahaproxy.appspot.com。該網站會顯示採用類似下列格式的資料:

cf,dev,#.#.###.#,#.#.###.#,mm/dd/yy,mm/dd/yy,#####,#####,#####
cf,beta,#.#.###.#,#.#.###.#,mm/dd/yy,mm/dd/yy,#####,#####,#####
cf,stable,#.#.###.#,#.#.###.#,mm/dd/yy,mm/dd/yy,#####,#####,#####
linux,dev,#.#.###.#,#.#.###.#,mm/dd/yy,mm/dd/yy,#####,#####,#####
linux,beta,#.#.###.#,#.#.###.#,mm/dd/yy,mm/dd/yy,#####,#####,#####
linux,stable,#.#.###.#,#.#.###.#,mm/dd/yy,mm/dd/yy,#####,#####,#####
mac,dev,#.#.###.#,#.#.###.#,mm/dd/yy,mm/dd/yy,#####,#####,#####
mac,beta,#.#.###.#,#.#.###.#,mm/dd/yy,mm/dd/yy,#####,#####,#####
mac,stable,#.#.###.#,#.#.###.#,mm/dd/yy,mm/dd/yy,#####,#####,#####
win,canary,#.#.###.#,#.#.###.#,mm/dd/yy,mm/dd/yy,#####,#####,#####
win,dev,#.#.###.#,#.#.###.#,mm/dd/yy,mm/dd/yy,#####,#####,#####
win,beta,#.#.###.#,#.#.###.#,mm/dd/yy,mm/dd/yy,#####,#####,#####
win,stable,#.#.###.#,#.#.###.#,mm/dd/yy,mm/dd/yy,#####,#####,#####
cros,dev,#.#.###.#,#.#.###.#,mm/dd/yy,mm/dd/yy,#####,#####,#####
cros,beta,#.#.###.#,#.#.###.#,mm/dd/yy,mm/dd/yy,#####,#####,#####

每一行分別代表關於不同平台和管道組合的資訊。所列 平台包括 cf (Google Chrome 內嵌框架)、linuxmacwincros (Google ChromeOS)。 列出的頻道包括 canarydevbetastable。第二組數字中的兩個部分 版本代表部署至該平台版本的 Chrome 目前及先前的版本 組合。其餘資訊則是發布首次推送時間的中繼資料 以及各個版本的相關修訂版本編號

功能

擴充功能可以提出跨網域 Ajax 要求嗎?

可以。擴充功能可以提出跨網域要求。詳情請參閱這個頁面

擴充功能可以使用第三方網路服務嗎?

可以。擴充功能可以提出跨網域的 Ajax 要求,以便呼叫遠端 API 以 JSON 格式提供資料的 API 特別容易使用。

擴充功能可以編碼/解碼 JSON 資料嗎?

可以,因為 V8 (Chrome 的 JavaScript 引擎) 原生支援 JSON.stringify 和 JSON.parse 可以在擴充功能中使用這些函式 (如這裡所述),而且不含任何額外項目 導入 JSON 程式庫

擴充功能可以將資料儲存在本機嗎?

可以,擴充功能可以使用 localStorage 永久儲存字串資料。使用 Chrome 內建功能 JSON 函式,您可以將複雜的資料結構儲存在 localStorage 中。若是 並針對儲存的資料執行 SQL 查詢,Chrome 會實作用戶端 SQL 資料庫

擴充功能可以使用 OAuth 嗎?

是,有些擴充功能使用 OAuth 存取遠端資料 API。大多數開發人員都會找到 使用 JavaScript OAuth 程式庫,可簡化簽署 OAuth 的程序。 要求。

擴充功能可以在轉譯網頁外建立 UI 嗎?

可以,這個擴充功能可能會在 Chrome 瀏覽器的使用者介面中加入按鈕。請參閱瀏覽器 動作網頁動作以取得更多資訊。

擴充功能也可以建立顯示在瀏覽器視窗外的彈出式通知。詳情請參閱 桌面通知說明文件。

擴充功能可以監聽 Chrome 分頁和導覽按鈕的點擊嗎?

不可以。擴充功能只能監聽 API 說明文件中所述的事件。

擴充功能是否能彼此通訊?

可以,擴充功能可能會將訊息傳送到其他擴充功能。請參閱訊息傳遞說明文件 瞭解詳情

擴充功能可以使用 Google Analytics 嗎?

可以,因為擴充功能也是比照網站建構的方式,因此可以使用 Google Analytics 來追蹤 。但是,您必須修改追蹤程式碼才能擷取 Google Analytics 的 HTTPS 版本。 資源庫。如要進一步瞭解具體步驟,請參閱這個教學課程

擴充功能可以修改 chrome:// 網址嗎?

否,擴充功能 API 的設計旨在盡量減少可能發生的回溯相容性問題 何時推送新版本如果允許 chrome:// 個網址的內容指令碼, 因此開發人員會開始依賴這些頁面的 DOM、CSS 和 JavaScript 來維持現狀。 最好的情況是,這些網頁因為當下更新無法立即更新。 最糟糕的情況是,更新其中一個網頁可能導致擴充功能 毀損,會導致瀏覽器的重要部分停止,讓該擴充功能的使用者無法使用。

我們允許替換這些網址上代管的內容,這是因為 強制擴充功能開發人員實作所有所需功能,而不必仰賴 瀏覽器的內部實作會維持不變

擴充功能可以在使用者未操作的情況下開啟瀏覽器/頁面動作的彈出式視窗嗎?

不可以。彈出式視窗只有在使用者點選對應的網頁或瀏覽器動作時,才能開啟。一個 擴充功能無法以程式輔助方式開啟彈出式視窗。

使用者點選擴充功能後,彈出式視窗是否可以保持開啟?

否。當使用者專注於瀏覽器以外的部分時,彈出式視窗會自動關閉 彈出式視窗。使用者點選後,無法讓彈出式視窗保持開啟。

安裝/解除安裝擴充功能時,可以收到通知嗎?

您可以監聽 runtime.onInstalled 事件,以便在擴充功能執行時收到通知 安裝或更新,或 Chrome 本身更新時。但這不會發生任何對應事件的時間 擴充功能已解除安裝。

開發

如何為擴充功能建構 UI?

擴充功能會使用 HTML 和 CSS 定義使用者介面,因此您可以使用標準表單控制項 來建立使用者介面,或透過 CSS 設定介面樣式,就像建立網頁一樣。此外,擴充功能 您可以為 Chrome 本身新增部分受限的 UI 元素

本機儲存空間可以儲存多少資料?

擴充功能最多可在本機儲存空間中儲存 5 MB 的資料。

如何為應用程式建立選項選單?

只要建立選項頁面,即可讓使用者設定擴充功能的選項, 簡單的 HTML 網頁,會在使用者按一下「選項」後載入按鈕。 這個頁面可以讀取和寫入本機儲存空間設定,或傳送選項至網路伺服器,以便 而可在不同瀏覽器中持續使用

擴充功能開發人員可以使用哪些偵錯工具?

Chrome 內建的開發人員工具可用來偵錯擴充功能和網頁。查看 擴充功能偵錯教學課程

為什麼萬用字元比對功能不適用於頂層網域 (TLD)?

您無法使用 http://google.*/* 等萬用字元比對模式來比對 TLD (例如 http://google.eshttp://google.fr),因為這類模型實際上設有限制 僅比對出所需網域

http://google.*/* 為例,系統會將 Google 網域進行比對,但相符 http://google.someotherdomain.com。此外,許多網站並未擁有其所有 TLD 網域。舉例來說,假設您想使用 http://example.*/* 比對 http://example.comhttp://example.es,但 http://example.net 是惡意網站。如果擴充功能發生錯誤 惡意網站可能會攻擊您的擴充功能,藉此存取擴充功能的 提升權限

建議您明確列舉要執行擴充功能的 TLD。

為什麼安裝/解除安裝擴充功能時,管理 API 不會觸發事件?

management API 是新分頁取代擴充功能的依據。不該 用於觸發目前擴充功能的安裝/解除安裝事件。

擴充功能如何判斷其是否首次執行?

您可以監聽 runtime.onInstalled 事件。請參閱這個常見問題項目

功能和錯誤

我發現錯誤!該如何確保問題順利解決?

開發擴充功能時,你可能會發現與擴充功能不符的行為 ,且可能出自 Chrome 的錯誤。首要之務是確保 提交適當的問題報告,且 Chromium 團隊有足夠的資訊可重現 行為

請按照下列步驟操作,確保一切:

  1. 請提出盡可能小的測試擴充功能,用以呈現您想回報的問題。這個 至少應使用少量程式碼來示範錯誤,通常這應該是 最多 100 行程式碼。開發人員常發現無法重現問題 透過這種方式,瞭解錯誤出現在他們的程式碼中。
  2. 前往 http://crbug.com 搜尋 Issue Tracker,查看是否有人回報過類似的問題 問題。與擴充功能相關的問題,大多是由 component=Platform>Extensions 回報。 尋找與 chrome.tabs.executeScript 函式相關的擴充功能錯誤 (例如), 搜尋「component=Platform>Extensions Type=Bug chrome.tabs.executeScript」 查看結果清單
  3. 如果您找到與您的問題相關的錯誤,只要按一下星號圖示,即可收到錯誤通知 就會收到更新不要回應錯誤並說「我也是」或詢問「何時 ?";就可能會傳送數百封電子郵件。添加評論 有幫助的資訊 (例如品質更佳的測試案例或建議修正方法)。
  4. 如果找不到適當的錯誤加上星號,請前往 http://crbug.com/new 提交新的問題報告。 填寫這份表單時,請盡量具體明確:選擇描述性的標題、說明 步驟,並說明預期和實際行為。附加測試 ,並視情況新增螢幕截圖。報表越容易 其他方法能重現您的問題,越有可能立即修正錯誤。
  5. 等待錯誤完成更新。大多數新錯誤會在一週內完成分類 有時需要較長的時間才能完成更新。請勿回覆錯誤並詢問問題何時 問題解決如果您的錯誤在兩週後仍未修改,請在 討論群組,並附上可返回錯誤的錯誤連結。
  6. 如果您原本是在討論群組中回報問題,並被導向到這個常見問題文章, 回覆原始會話串,並附上您加上星號或檢舉錯誤的連結。如此一來 其他遇到相同問題的人更方便,找到正確的錯誤。

我有功能要求!該如何檢舉?

如果發現任何可新增至實驗性 API 的功能 (尤其是與實驗性 API 相關時), 確認在問題中提出適當的要求,進而改善擴充功能開發體驗 追蹤器

請按照下列步驟操作,確保一切:

  1. 前往 http://crbug.com 搜尋 Issue Tracker,查看是否有人提出要求 大多數與擴充相關的要求都會提報給 component=Platform>Extensions,藉此尋找與 舉例來說,您可以搜尋 「component=Platform>Extensions Type=Feature shortcuts」,會列出這份清單中的 結果
  2. 如果看到符合要求的支援單,按一下星號圖示即可在錯誤發生時收到通知 就會收到更新不要回應錯誤並說「我也是」或詢問「何時 implemented?";就可能會傳送數百封電子郵件。
  3. 如果找不到合適的星號,請前往 http://crbug.com/new 提出新的要求。成為 填寫表單時,請盡量提供詳細說明:選擇描述性的標題 確切說明您想要的功能和計劃使用方式。
  4. 請等待票券更新完成。大多數新要求會在一週內重試, 有時需要較長的時間才能完成更新。請勿回覆支援單詢問這項功能將於何時開放 已新增。如果您的支援單在兩週後仍未修改,請在 討論群組,以及可連向要求的連結。
  5. 如果您原本是在討論群組中提出要求,系統卻將您導向這個常見問題頁面 訊息, 回覆原始會話串,並附上您加上星號或開啟的支援單連結。這將 方便收到相同要求的其他使用者找到正確的支援單。