我們在 7 月推出一系列新的部落格文章,讓您隨時掌握擴充功能的最新動態。感謝您提供寶貴意見,以及與 WebExtensions Community Group 中的其他瀏覽器供應商持續合作,我們會持續改善擴充功能 API,並致力於讓各瀏覽器的 API 更一致。
歡迎收看十月特輯!在本篇文章中,我們將介紹 Chrome 擴充功能團隊在過去幾個月內做出的部分變更,以及今年稍晚推出的幾項新功能。立即開始!
新的擴充功能 API 和功能
在本節中,我們將分享幾項重大的 API 推出計畫、簡要介紹其他 API 改善項目,並分享即將推出的版本。目前所有發布功能皆可在最新 Beta 版中使用。詳情請參閱 Chromium 發布時間表。
特色
已解決的已知問題
擴充功能團隊一直在積極解決 Manifest V3 穩定性問題。Chrome 116 推出了許多改善功能,讓我們在縮小 Manifest V2 和 V3 之間的功能差距方面取得重大進展。在 Chrome 120 中,我們將完成所有優先平台缺陷的修正,並關閉已知問題頁面上記錄的所有重大錯誤。目前 Chrome 120 Canary 版提供所有功能,但不包括 ChromeOS Lacros 的 fileHandler 支援,以及本月稍晚推出的 userScripts API。詳情請參閱更新版的已知問題頁面。
改善服務工作者穩定性
已解決服務工作者相關的穩定性問題。在 Chrome 116 中,我們在擴充功能 API 中加入了強大的保活功能,顯示使用者提示,並改善了對 WebSocket 的支援 (請參閱「在擴充功能中使用 WebSockets」教學課程)。自 Chrome 118 起,服務工作者會在有效的偵錯工具 API 工作階段期間持續運作。
詳情請參閱更新版的Service Worker 指南。如果使用者在 119 之後的 Chrome 版本中仍遇到與服務工作者相關的穩定性問題,請告訴我們。
提高安全保障
先前,使用 tabs.update()
、tabs.create
和 windows.create()
前往部分 chrome://
網址時,會傳回錯誤或導致 Chrome 當機。此外,tabs.update()
無法開啟 JavaScript 網址。在 Chrome 117 中,我們擴大了支援的 chrome://
網址數量,而 JavaScript 網址封鎖功能現在也適用於所有擴充功能 API 方法。
在 Chrome 117 中,如果使用者安裝的擴充功能在 Chrome 線上應用程式商店中不再提供,使用者會在 Chrome 擴充功能頁面上收到主動通知。開發人員停用擴充功能、因違反政策而遭到移除,或系統判定為惡意軟體,都可能導致這個情況。如需深入瞭解,請參閱「將安全檢查功能加入 chrome://extensions 頁面」。
在 Chrome 118 中,除非在擴充功能的詳細資料頁面中啟用「允許存取檔案網址」選項,否則擴充功能將無法使用 chrome.tabs
和 chrome.windows
API 前往 file://
網址。請參閱 WECG 討論。
更多 API 發布
- Runtime API:從 Chrome 116 開始,您可以使用
runtime.getContexts()
擷取有關有效內容的資訊。舉例來說,您可以檢查是否有有效的螢幕外文件。 - 側邊面板 API 在 Chrome 116 中,您可以使用
sidepanel.open()
以程式設計方式開啟擴充功能側邊面板,以回應使用者的手勢,例如點選內容功能表。 - TabCapture API 新增了從擴充功能服務 worker 呼叫
getMediaStreamId()
的功能,並在 Chrome 116 中從畫面外文件的串流 ID 取得MediaStream
物件。如需範例,請參閱「錄音和螢幕截圖」。 - DeclarativeNetRequest API:在 Chrome 118 中,
isUrlFilterCaseSensitive
屬性的預設值已變更為false
。
即將推出...
我們預計在 Chrome 120 發布時,解決已知問題頁面上所有剩餘項目。此外,我們也預計新增下列功能:
- UserScripts API 可讓使用者指令碼管理員協調將一系列使用者指令碼插入網頁的方式和時機。詳情請參閱 WECG 提案。
- ReadingList API 可讓開發人員建立、讀取、更新及刪除側邊面板的 Reading List 面板中的中繼資料。請觀看「Chrome 擴充功能的新功能」影片,瞭解這項功能。
- 根據 Web Extensions Community Group 的意見回饋,我們將啟用靜態規則集的限制數量從 10 個大幅提高至 50 個。此外,我們也將允許的靜態規則總數從 50 個增加到 100 個。這項功能目前已在 Canary 中推出。
- 從 ChromeOS 120 開始,ChromeOS 擴充功能將支援 File Handling API,讓擴充功能以類似於網頁平台檔案處理方式,開啟具有指定 MIME 類型和副檔名的檔案。
- 擴充功能可透過
self.registration.pushManager.subscribe()
使用網路 Push API,並將userVisibleOnly
設為false
,這樣就不會向使用者顯示通知。如此一來,推播通知就能更順暢地取代 Service Worker (MV3) 中的 WebSocket,用於非同步的用戶端-伺服器通訊。詳情請參閱 Chromium 錯誤和 WECG 討論區。
請密切留意「擴充功能的新功能」頁面,一旦 Chrome Beta 版推出這些功能,我們會立即發布相關公告。
說明文件升級
我們也持續改善說明文件並新增內容。請繼續在 chromium-group 上提問,並回報說明文件問題。
特色
- 我們推出了新版「發現」到達網頁,您現在可以依 API、權限和類型篩選,輕鬆找出特定範例。這項功能是與夏季程式碼實習生 Xuezhou Dai 共同合作完成的成果。請參閱這篇網誌文章,瞭解他的經驗。
- 在 Chrome 線上應用程式商店中使用 Google Analytics 帳戶一文說明如何查看 Chrome 線上應用程式商店資訊主頁中提供的 Google Analytics 4 資料。本指南將說明如何選擇加入 Google Analytics、監控廣告成效、追蹤轉換,以及授予其他帳戶 Google Analytics 資料存取權。
- 我們發布了新的指南,說明 Cookie 和 Web Storage API 在 Chrome 擴充功能中的運作方式。這份文件包含擴充功能開發人員需要瞭解的所有 Privacy Sandbox 相關資訊。
- 我們推出了新文章,說明如何在擴充功能專案中整合測試:Chrome 擴充功能單元測試和擴充功能端對端測試,涵蓋多個熱門架構的一般指南和最佳做法。如需實用教學課程,請參閱「使用 Puppeteer 測試 Chrome 擴充功能」。
更多最新消息
- 我們已重寫宣告式網路要求 API指南,以更清楚的方式說明如何實作宣告式規則集。
- 我們新增了更多指引,說明如何將遠端代管的程式碼遷移至 Manifest V3。此外,為盡量降低在發布期間遇到問題的風險,我們提供逐步發布 Manifest V3 擴充功能的策略。
- 瞭解如何連線至擴充功能服務工作程的 WebSocket。
- 我們擴充了取得協助指南,提供更詳細的操作說明,說明如何提交錯誤、追蹤現有問題、要求新功能等等。
即將推出...
- User Scripts API 參考資料和教學課程。
- Firebase 教學課程和範例。
- ReadingList API 參考資料。
重新設計 Chrome 線上應用程式商店 🌈?
如同我們在 Google I/O 大會上所提及,本月稍早,我們宣布了改版 Chrome 線上應用程式商店的早期預覽版。歡迎前往 https://chromewebstore.google.com/ 親自查看。以下列出幾項重要的異動:
- 將類別清單從十一項增加至三個類別群組中的十七項。
- 改善搜尋功能中的自動完成功能。
- 螢幕截圖的顯示品質現在大幅提升。如果您尚未上傳,可以上傳 1280x800 的螢幕截圖。
- 在「支援」分頁中回覆問題時,現在會顯示換行符號。
- 回覆使用者評論和支援問題時,您的回覆現在會在您的名稱旁邊顯示「開發人員」徽章。
- 只要在商店商品網址結尾加上「/reviews」,即可為使用者提供評論頁面的直接連結,例如:
https://chromewebstore.google.com/detail/_EXTENSION_ID_/reviews
。
感謝大家在 chromium-google 群組中提供的意見回饋。歡迎加入討論,或使用「提供意見」選單項目,直接將意見回饋傳送給 CWS 團隊:
此外,你也可以提交自薦表單,讓作品入選「編輯精選」系列。我們很快就會推出開發人員資訊主頁的改善功能,敬請期待!
💡? 你知道嗎?
- 我們推出了新的影片,說明如何對 Chrome 擴充功能進行偵錯。除了涵蓋許多您可能已經熟悉的主題,也分享了一些在擴充功能中使用開發人員工具的實用技巧。
- 您現在必須為每個擴充功能提供隱私權政策。先前,每個開發人員帳戶只能新增一個隱私權政策,但如果您在一個開發人員帳戶下有幾個擴充功能,就會造成不便。開發人員資訊主頁中商品的「隱私權分頁」中提供這項新介面。也就是說,系統不再支援帳戶層級隱私權政策。
想與你聯絡 🙌?
我們持續透過一對一會議、推出新計畫和參加峰會,與擴充功能開發人員社群保持聯繫。以下是幾個重點:
- 擴充功能 Google 開發人員專家計畫於 8 月推出。我們有十幾位來自世界各地的 Chrome 擴充功能專屬 GDE,他們提供許多寶貴意見。這對計畫來說是令人振奮的時刻!
- 我們以網頁擴充功能社群小組成員身分參加 TPAC (W3C 年度大會),並與 Firefox 和 Safari 的代表,以及社群的幾位成員會面。我們在多個主題上取得重大進展,包括朝向更一致的擴充功能 API、著手制定規格,以及在 Web 平台測試之上建立新的測試套件。請參閱 WECG 存放區中的完整會議記錄。
- 上週,擴充功能團隊參加了在阿姆斯特丹舉辦的廣告過濾開發人員峰會。在峰會週和週五的開放辦公時間,他們在咖啡聊天活動中與多位成員見面。
即使您無法參加上述任何活動,也可以繼續參與相關活動,例如在 chromium-extensions Google 群組中提問、在 WECG 上追蹤瀏覽器合作夥伴討論內容,以及回報任何說明文件問題。
再次感謝你加入擴充功能開發人員社群!