Thường xuyên truy cập vào trang này để tìm hiểu về những thay đổi đối với tiện ích Chrome, tài liệu về tiện ích, chính sách liên quan hoặc những thay đổi khác. Bạn sẽ thấy các thông báo khác được đăng trên Danh sách gửi thư về tiện ích Chrome. Lịch phát hành của Chrome liệt kê ngày phát hành phiên bản ổn định và phiên bản thử nghiệm.
Chrome 139: Xoá cờ --extensions-on-chrome-urls
và --disable-extensions-except
trong các bản dựng có thương hiệu Chrome
Đăng vào
Kể từ Chrome 139, các cờ dòng lệnh --extensions-on-chrome-urls và --disable-extensions-except sẽ bị xoá trong các bản dựng chính thức có thương hiệu Chrome. Tìm hiểu thêm về danh sách gửi thư.
Chrome 138: Thay đổi đối với trang thẻ mới
Đăng vào
Kể từ Chrome 138, chúng tôi sẽ cập nhật giao diện người dùng của trang thẻ mới bằng một chân trang mới. Bạn có thể tìm hiểu thêm trên danh sách gửi thư.
Bài đăng trên blog: Cập nhật tiện ích trước khi có những thay đổi sắp tới đối với dấu trang
Đăng vào
Chúng tôi đang thực hiện một số thay đổi đối với tính năng đồng bộ hoá dấu trang. Những thay đổi này có thể ảnh hưởng đến tiện ích của bạn. Tìm hiểu thêm trong bài đăng trên blog.
Bài đăng trên blog: Những thay đổi đối với Tiện ích của Chrome, tháng 6 năm 2025
Đăng vào
Chúng tôi đã rất bận rộn với Google I/O và một số tính năng mới trong Chrome cũng như Cửa hàng Chrome trực tuyến. Hãy tìm hiểu ngay Những thay đổi trong Tiện ích của Chrome, tháng 6 năm 2025!
Video: Chơi trò đập chuột trong trình duyệt – Có thể không?
Đăng ngày
Hãy xem video mới nhất của chúng tôi để khám phá cách tạo trò chơi trong trình duyệt.
Video: Giải thích về trình đơn tiện ích mới của Chrome
Đăng ngày
Tìm hiểu về trình đơn tiện ích mới ở giai đoạn thử nghiệm trong video mới nhất của chúng tôi: Giải thích về trình đơn tiện ích mới của Chrome .
Video: Tiện ích rất hữu ích!
Đăng vào
Khám phá cách bắt đầu phát triển tiện ích trong Tập 1 của Extensions are Neat và mức độ linh hoạt của việc tuỳ chỉnh Chrome trong tập 2!
Chrome 135: API userScripts.execute() mới
Đăng vào
Kể từ Chrome 135, một phương thức userScripts.execute()
mới sẽ có trong API chrome.userScripts
. Bạn có thể dùng phương thức này để chèn một tập lệnh người dùng một lần vào thời điểm tuỳ ý thay vì cần đăng ký tập lệnh đó vĩnh viễn.
Chrome 132: Xem và chỉnh sửa bộ nhớ của tiện ích trong Công cụ cho nhà phát triển
Đăng vào
Kể từ Chrome 132, bạn có thể xem và chỉnh sửa dữ liệu được lưu trữ bằng API chrome.storage
trong Công cụ cho nhà phát triển. Để tìm hiểu thêm, hãy xem trang Xem và chỉnh sửa bộ nhớ của tiện ích mới trong tài liệu về Công cụ cho nhà phát triển.
Bài đăng trên blog: Trình đơn tiện ích mới
Đăng ngày
Tại Google I/O 2024, chúng tôi đã chia sẻ một số thiết kế ban đầu cho những thay đổi sắp tới đối với trình đơn tiện ích. Những thay đổi này sẽ giúp người dùng kiểm soát chặt chẽ hơn những trang web mà tiện ích có thể truy cập. Chúng tôi sẽ sớm bắt đầu thử nghiệm những thay đổi này, bắt đầu với một nhóm nhỏ người dùng trong phiên bản Canary và hy vọng sẽ triển khai rộng rãi hơn trong tương lai.
Chúng tôi cũng giới thiệu API chrome.permissions.addHostAccessRequest()
.
Đọc thêm trong bài đăng trên blog của chúng tôi.
Chrome 132: Thuộc tính cố định mới trong Tabs API
Đăng vào
Kể từ Chrome 132, thuộc tính frozen
trong Tabs API cho biết liệu trình duyệt có đóng băng một thẻ hay không. Các thông báo được gửi đến các thẻ bị đóng băng sẽ được đưa vào hàng đợi và xử lý khi thẻ được mở băng.
Prompt API trong tiện ích của Chrome
Đăng vào
Prompt API cho Tiện ích hiện có trong bản dùng thử theo nguyên gốc, vì vậy, bạn có thể tạo Tiện ích Chrome sử dụng Gemini Nano (mô hình ngôn ngữ hiệu quả nhất của chúng tôi) trong trình duyệt.
Tham gia bản dùng thử theo nguồn gốc Prompt API (chạy trong Chrome 131 đến 136) và chia sẻ ý kiến phản hồi của bạn. Ý kiến của bạn có thể ảnh hưởng trực tiếp đến cách chúng tôi xây dựng và triển khai các phiên bản trong tương lai của API này và tất cả các API AI tích hợp.
Bài đăng trên blog: Những thay đổi đối với Tiện ích của Chrome, tháng 10 năm 2024
Đăng vào
Đã đến lúc tổng hợp những tin tức mới nhất về Tiện ích của Chrome: chúng tôi có những thông tin cập nhật thú vị về việc tích hợp AI, các API, sự kiện và video mới. Hãy đọc tất cả thông tin về vấn đề này trong bài viết Những thay đổi trong tiện ích của Chrome (tháng 10)!
Tham gia thử thách về AI tích hợp
Đăng vào
Chrome đã ra mắt cuộc thi Built-in AI Challenge (Thử thách về AI tích hợp): Bạn được mời tạo các ứng dụng web và tiện ích Chrome sáng tạo bằng cách sử dụng các mô hình và API AI tích hợp của Chrome, đồng thời có cơ hội giành được các giải thưởng với tổng giá trị là 65.000 USD.
Đăng ký và tìm hiểu thêm thông tin trên trang web của Thử thách AI tích hợp. Chúng tôi rất mong chờ được xem những nội dung bạn tạo khi kết hợp AI với web!
Chrome 130: action.onUserSettingsChanged
Đăng vào
Kể từ Chrome 130, sự kiện action.onUserSettingsChanged sẽ có sẵn. Đây là một đề xuất trong Nhóm cộng đồng WebExtensions. Cảm ơn Microsoft đã đóng góp cho Chromium.
Chrome 130: StorageArea.getKeys()
Đăng vào
Kể từ Chrome 130, phương thức getKeys() có trên giao diện StorageArea mà chrome.storage
API sử dụng. Đây là một đề xuất trong Nhóm cộng đồng WebExtensions.
Chrome 128: So khớp tiêu đề phản hồi trong Declarative Net Request
Đăng vào
Kể từ Chrome 128, chúng tôi sẽ thêm tính năng hỗ trợ so khớp tiêu đề phản hồi trong Declarative Net Request API. Đây là một yêu cầu thường gặp, đặc biệt là để so khớp tiêu đề Content-Type và chúng tôi đã thiết kế một API phù hợp cùng với Nhóm cộng đồng WebExtensions.
Chúng tôi đã cập nhật tài liệu tham khảo API để bổ sung các trường responseHeaders
và excludedResponseHeaders
mới. Bạn có thể dùng các hàm này để kiểm tra sự tồn tại và giá trị của một tiêu đề nhất định.
Trong lần cập nhật này, chúng tôi đã thêm một phần đánh giá quy tắc mới vào tài liệu của mình để giải thích cách các quy tắc được so khớp. Cụ thể, đối với việc so khớp tiêu đề, các quy tắc chỉ có thể chạy một lần sau khi nhận được tiêu đề phản hồi, vì vậy, các quy tắc này được áp dụng ở giai đoạn sau so với các quy tắc khác. Điều này có nghĩa là yêu cầu đã đến được máy chủ trước khi bị chặn hoặc chuyển hướng.
Video: Tập lệnh nội dung là gì?
Đăng vào
Tìm hiểu về tập lệnh nội dung trong Tiện ích Chrome, bao gồm cả cách đăng ký CSS và JavaScript để chạy trên một trang cụ thể. Xem toàn bộ video.
Thông tin cập nhật quan trọng về chính sách
Đăng vào
Nhóm Cửa hàng Chrome trực tuyến đã xuất bản một loạt nội dung cập nhật cho trang Chính sách chương trình dành cho nhà phát triển. Mục đích của những nội dung cập nhật này là khuyến khích việc phát triển các sản phẩm chất lượng cao, ngăn chặn hành vi lừa đảo và đảm bảo người dùng đồng ý một cách có hiểu biết. Rebecca Soares, người quản lý chính sách của Cửa hàng Chrome trực tuyến, đã tóm tắt tất cả nội dung cập nhật trong bài đăng trên blog Tiện ích Chrome: Nội dung cập nhật quan trọng về chính sách.
Bài đăng trên blog: Những thay đổi đối với Tiện ích của Chrome, tháng 7 năm 2024
Đăng vào
Trong 3 tháng qua, chúng tôi đã triển khai một số bản cập nhật quan trọng và tính năng mới, bao gồm cả việc bắt đầu loại bỏ Manifest V2. Hãy tìm hiểu ngay Những tin tức mới nhất về Tiện ích của Chrome trong tháng 7!
Video: Mã được lưu trữ từ xa là gì?
Đăng vào
Patrick, thành viên nhóm Tiện ích của Chrome, giải thích khái niệm về Mã được lưu trữ từ xa (RHC) trong Tiện ích của Chrome. Tìm hiểu lý do RHC không còn được phép, cách phát hiện RHC và việc cần làm nếu tiện ích của bạn cần được cập nhật. Xem toàn bộ video.
Chrome 127: API action.openPopup mới
Đăng ngày
Kể từ Chrome 127, API action.openPopup
sẽ có sẵn cho tất cả các tiện ích. Trước đây, tính năng này chỉ có trong Canary hoặc dành cho các tiện ích do một chính sách cài đặt.
Video: Phỏng vấn Nhóm phụ trách vấn đề Tin cậy và An toàn
Đăng vào
Nhóm DevRel của Tiện ích Chrome đã trao đổi với nhóm An toàn và đáng tin cậy (nhóm phụ trách quy trình xem xét trong Cửa hàng Chrome trực tuyến) để đặt câu hỏi của bạn. Xem toàn bộ video.
Bài đăng trên blog: Bắt đầu giai đoạn loại bỏ Manifest V2
Đăng vào
Kể từ ngày 3 tháng 6 trên các kênh Beta, Dev và Canary của Chrome, nếu người dùng vẫn cài đặt tiện ích Manifest V2, thì một số người dùng sẽ bắt đầu thấy biểu ngữ cảnh báo khi truy cập vào trang quản lý tiện ích (chrome://extensions). Biểu ngữ này thông báo rằng một số tiện ích (Manifest V2) mà họ đã cài đặt sẽ sớm không được hỗ trợ nữa. Đọc thêm trong thông báo chính thức
Nội dung cập nhật đối với giao diện người dùng của bảng điều khiển bên
Đăng vào
Gần đây, chúng tôi đã thực hiện một số thay đổi đối với giao diện người dùng của Bảng điều khiển bên, bao gồm cả việc thêm biểu tượng ghim và xoá biểu tượng bảng điều khiển bên chung. Đọc thêm trong PSA và xem tài liệu cũng như các mẫu đã cập nhật của chúng tôi.
Bài đăng trên blog: Tiện ích của Chrome tại Google I/O 2024
Đăng vào
Một sự kiện Google I/O nữa đã kết thúc và chúng tôi đã đề cập đến tất cả những thông tin cập nhật thú vị về tiện ích! Hãy truy cập YouTube để xem video đầy đủ và đọc bài đăng trên blog của chúng tôi để biết một số điểm nổi bật.
Bỏ qua quy trình xem xét đối với các thay đổi đủ điều kiện về Declarative Net Request
Đăng ngày
Giờ đây, Cửa hàng Chrome trực tuyến cho phép bạn bỏ qua quy trình xem xét đối với những thay đổi đủ điều kiện khi sử dụng Declarative Net Request API. Tìm hiểu thêm về điều kiện và cách chọn tham gia trong tài liệu của Cửa hàng Chrome trực tuyến.
deployPercentage có trong Chrome Web Store API
Đăng vào
Gần đây, chúng tôi đã cập nhật tài liệu về Chrome Web Store API để thêm thông tin về deployPercentage
. Thông tin này cho phép bạn chỉ định tỷ lệ phần trăm của một bản triển khai phát hành từng phần. Tìm hiểu về deployPercentage
.
Chrome 126: Bản dùng thử theo nguyên gốc trong tiện ích
Đăng vào
Chrome 126 giới thiệu một trường manifest.json mới – trial_tokens
, cho phép bạn chọn tham gia Thử nghiệm theo nguyên gốc và Thử nghiệm ngừng sử dụng trên tất cả các nền tảng tiện ích. Hãy đọc hướng dẫn để biết thêm thông tin.
Bài đăng trên blog: Những thay đổi đối với tiện ích của Chrome – tháng 4 năm 2024
Đăng ngày
Chúng tôi đã xuất bản một phiên bản mới của What's Happening in Chrome Extensions (Những tin tức mới về tiện ích trên Chrome). Bài đăng này thảo luận về những việc mà nhóm tiện ích đã làm trong vài tháng qua. Trong đó có: Tính năng quay lại phiên bản trong Cửa hàng Chrome trực tuyến, khả năng hỗ trợ Firebase Auth tốt hơn và nhiều API được ra mắt cũng như cập nhật hơn.
Quay lại phiên bản trong Trang tổng quan dành cho nhà phát triển Cửa hàng Chrome trực tuyến
Đăng vào
Khôi phục tiện ích về phiên bản đã phát hành trước đó trong Cửa hàng Chrome trực tuyến mà không cần xem xét thêm! Hãy đọc bài đăng trên blog và tài liệu để biết thêm thông tin.
Chrome 124: API documentScan nâng cao
Đăng ngày
Giờ đây, bạn có thể dùng một documentScan
API nâng cao trên ChromeOS để khám phá và truy xuất hình ảnh từ các trình quét tài liệu được đính kèm.
Chrome 124: Hỗ trợ WebGPU trong Service Worker
Đăng ngày
Kể từ Chrome 124, các worker dịch vụ hỗ trợ WebGPU. Để bắt đầu nhanh, hãy xem mẫu tiện ích WebGPU.
Chrome 123: Events API hỗ trợ lọc theo khối CIDR
Đăng vào
Events API hiện hỗ trợ lọc theo các khối Định tuyến liên miền không phân lớp (CIDR). Khối CIDR là một tập hợp các địa chỉ IP có cùng tiền tố mạng và số lượng bit. Trước đây, nhà phát triển cần lọc nhiều địa chỉ IP phải định cấu hình quy tắc lọc cho từng địa chỉ trong dải địa chỉ chặn. Giờ đây, khi một tiện ích gọi addListener()
, một quy tắc được truyền vào có nghĩa là trình xử lý sự kiện sẽ chỉ được gọi khi phần máy chủ lưu trữ của một URL là địa chỉ IP và nằm trong bất kỳ khối CIDR nào được chỉ định trong một mảng.
Cửa hàng Chrome trực tuyến: Thay đổi về yêu cầu đối với độ dài tên tiện ích
Đăng vào
Trong Cửa hàng Chrome trực tuyến, hiện có một giới hạn chung là 75 ký tự cho trường "name"
của tiện ích trong manifest.json. Trước đây, giới hạn cho tiếng Anh là 45 ký tự và không có hạn chế nào đối với trường "name"
ở các ngôn ngữ khác.
Ban đầu, mục đích của việc này là để tính đến sự khác biệt về văn hoá và ngôn ngữ mà có thể không thể thể hiện bằng cùng một số lượng ký tự. Rất tiếc, một số ít nhà phát triển đã lợi dụng tính năng này để gửi nội dung rác lên cửa hàng. Do đó, chúng tôi sẽ áp dụng một giới hạn mới cho tất cả các ngôn ngữ, tăng lên 75 ký tự. Giới hạn này áp dụng cho hầu hết các tiện ích trên Cửa hàng Play hiện nay, nên có thể bạn không cần làm gì cả do thay đổi này. Nếu bạn cố gắng tải một tiện ích có tên dài hơn giới hạn tối đa lên, thì cửa hàng sẽ chặn quá trình tải lên.
Bài đăng trên blog: hành trình của eyeo trong việc thử nghiệm việc tạm ngưng trình chạy dịch vụ
Đăng vào
Trong bài đăng này của nhóm Extension Engine của eyeo, chúng ta sẽ khám phá vấn đề kiểm thử các worker dịch vụ của tiện ích. Trong Manifest V2, các tiện ích nằm trong một trang nền và hoạt động trong suốt vòng đời của tiện ích. Manifest V3 sử dụng trình chạy dịch vụ thay thế và trình chạy dịch vụ, theo thiết kế, sẽ tiết kiệm tài nguyên bằng cách tắt khi không cần thiết. Điều này gây ra một số thách thức nhất định trong quá trình kiểm thử. Bài đăng này giải thích cách eyeo giải quyết những thách thức này.
Chrome 123: Chuông báo hiện chạy khi thiết bị ở chế độ ngủ
Đăng vào
Các báo thức được đặt bằng API chrome.alarms
sẽ không còn bị trì hoãn khi thiết bị chuyển sang chế độ ngủ. Khi thiết bị hoạt động trở lại, chuông báo sẽ đổ chuông một lần bất kể bạn đã bỏ lỡ bao nhiêu chuông báo. Ví dụ: giả sử chuông báo được đặt để phát mỗi giờ một lần và thiết bị có chuông báo ở chế độ ngủ từ 00:55 đến 02:05, thì chỉ chuông báo lúc 02:00 mới kích hoạt sự kiện onAlarm
.
Sự kiện này sẽ kích hoạt gần với thời điểm 2:00 sáng nhất có thể và ngay lập tức khi thiết bị thức nếu đang ở chế độ ngủ.
Thay đổi này giúp Chrome phù hợp với hành vi đã thoả thuận trong Nhóm cộng đồng tiện ích cho web.
Bài đăng trên blog: Thay đổi về hành vi bfcache với các cổng thông báo của tiện ích
Đăng vào
Bộ nhớ đệm cho thao tác tiến/lùi (bfcache) là một tính năng tối ưu hoá của trình duyệt, cho phép điều hướng tiến và lùi trong tích tắc. Kể từ Chrome 123, khi một trang có cổng tiện ích đang mở được lưu trữ trong bfcache, kênh thông báo sẽ bị đóng, tức là không có thông báo nào được gửi đến trang đó.
Do đó, các tập lệnh tiện ích nên theo dõi các sự kiện trong vòng đời như onDisconnect
và thiết lập một kết nối mới khi trang được khôi phục từ BFCache.
Để biết thêm thông tin và mã mẫu, hãy xem bài viết Những thay đổi đối với hành vi của BFCache khi có các cổng thông báo của tiện ích.
Chrome 122: Hỗ trợ Promise trên các API tiện ích không đồng bộ
Đăng vào
Chúng tôi đã hoàn tất việc triển khai tính năng hỗ trợ Promise cho tất cả các phương thức API tiện ích không đồng bộ. Việc này nhằm mục đích hiện đại hoá các phương thức API bằng cách cải thiện tính gọn nhẹ khi xử lý các thao tác không đồng bộ. Một số phương thức (ví dụ: desktopCapture.chooseDesktopMedia()
) vẫn chỉ hỗ trợ lệnh gọi lại vì các giao diện hiện tại của chúng không tương thích với Promise. Để đảm bảo khả năng tương thích ngược, các lệnh gọi lại vẫn được hỗ trợ. Nếu bạn thấy một Promise không thành công, vui lòng gửi thông báo lỗi.
Hướng dẫn mới về giao tiếp theo thời gian thực
Đăng vào
Chúng tôi vừa xuất bản hướng dẫn về các lựa chọn theo thời gian thực trong tiện ích. Tính năng cập nhật theo thời gian thực cung cấp một đường dẫn giao tiếp tức thì từ máy chủ của bạn trực tiếp đến các lượt cài đặt tiện ích. Ngoài ra, chúng tôi có hướng dẫn mới về cách sử dụng chrome.gcm, Web Push.
Hướng dẫn và mẫu mới: Kiểm thử việc chấm dứt worker dịch vụ
Đăng vào
Chúng tôi vừa xuất bản một hướng dẫn về cách Kiểm thử việc chấm dứt worker dịch vụ bằng Puppeteer. Mẫu đi kèm minh hoạ điều này trong Puppeteer và Selenium.
Đã cập nhật mẫu cho tính năng nhắn tin gốc
Đăng vào
Chúng tôi vừa xuất bản một mẫu mới cho tính năng nhắn tin bằng ứng dụng gốc. API này cho phép tiện ích của bạn bắt đầu và giao tiếp với một ứng dụng khác. Cảm ơn cộng tác viên Shubham-Rasal của GitHub vì đã nỗ lực thực hiện việc này.
Chrome 121: Thuộc tính lastAccessed mới trên tabs.Tab
Đăng vào
Một thuộc tính mới có tên là lastAccessed
đã được thêm vào đối tượng tabs.Tab
. Thuộc tính này cho biết thời điểm thẻ được kích hoạt lần gần đây nhất. Giá trị trả về tính bằng mili giây kể từ thời gian bắt đầu của hệ thống.
Chrome 121: Các khoá "background" không được hỗ trợ hiện sẽ đưa ra cảnh báo
Đăng vào
Trong quá trình chuyển đổi từ Manifest V2 sang Manifest V3, các phần tử con của khoá tệp kê khai "background"
đã được thay đổi để phù hợp với việc thay thế tập lệnh nền bằng các worker dịch vụ của tiện ích. Trước đây, việc thêm các khoá Manifest V2 "scripts"
, "page"
hoặc "persistent"
vào khoá "background"
của tiện ích Manifest V3 sẽ gây ra lỗi. Giờ đây, sự xuất hiện của các khoá này sẽ kích hoạt một cảnh báo.
Việc này được thực hiện để cho phép sử dụng một tệp kê khai duy nhất trong các tiện ích trên nhiều trình duyệt, theo đề xuất trong nhóm cộng đồng.
Chrome 120: Giảm độ chi tiết tối thiểu của chuông báo xuống 30 giây
Đăng vào
Kể từ Chrome 120, các tiện ích Manifest V3 có thể sử dụng API chrome.alarms
với độ trễ hoặc khoảng thời gian là 30 giây, thay vì yêu cầu các giá trị từ 60 giây trở lên.
Bài đăng trên blog: Tiếp tục quá trình chuyển đổi sang Manifest V3
Đăng vào
Tiến trình hỗ trợ Manifest V2 đã được cập nhật. Hãy xem bài đăng trên blog tháng 11 năm 2023 của chúng tôi để biết thông tin chi tiết.
Bài đăng trên blog: Cải tiến đối với tính năng lọc nội dung trong Manifest V3
Đăng vào
Tìm hiểu về cách chúng tôi cải thiện API declarativeNetRequest trong bài đăng mới trên blog.
Bài đăng trên blog: Tính năng mới trong Chrome 120 dành cho tiện ích
Đăng vào
Chrome 120 Beta vừa được phát hành. Để xem tóm tắt về những thông tin cập nhật quan trọng liên quan đến nhà phát triển tiện ích, hãy đọc bài đăng mới trên blog của chúng tôi: Những điểm mới trong Chrome 120 dành cho tiện ích. Bản phát hành này cũng đánh dấu một cột mốc quan trọng vì nó xoá 2 mục cuối cùng (userScripts, trình xử lý tệp trên ChromeOS) khỏi danh sách các điểm thiếu hụt quan trọng của nền tảng.
Thông báo: Thay đổi cách xử lý URL chính sách quyền riêng tư trong Trang tổng quan dành cho nhà phát triển
Đăng vào
Giờ đây, chính sách quyền riêng tư trong Trang tổng quan dành cho nhà phát triển được thêm ở cấp mặt hàng. Nhờ đó, bạn có thể cung cấp chính sách quyền riêng tư riêng cho từng mặt hàng. Đọc thêm về thay đổi này trong PSA của chúng tôi.
Video: Trò chuyện với Matt Frisbie
Đăng vào
Chúng tôi vừa xuất bản một video mới trên kênh YouTube Chrome for Developers, trong đó có cuộc trò chuyện với Matt Frisbie, chuyên gia phát triển của Google và tác giả. Xem tại đây.
Hướng dẫn mới về cách kiểm thử tiện ích
Đăng ngày
Chúng tôi vừa xuất bản hướng dẫn mới về cách viết kiểm thử tự động cho các tiện ích, bao gồm cách viết kiểm thử đơn vị và cả hướng dẫn chung cũng như hướng dẫn về kiểm thử toàn diện.
Bài đăng trên blog: Tình hình về tiện ích của Chrome – tháng 10 năm 2023
Đăng vào
Chúng tôi vừa xuất bản ấn bản thứ hai của What’s Happening in Chrome Extensions (Những tin tức mới về tiện ích trên Chrome). Bài đăng này thảo luận về những việc mà nhóm tiện ích đã làm trong vài tháng qua, bao gồm cả việc giải quyết các vấn đề về độ ổn định của worker dịch vụ và đạt được nhiều tiến bộ trong việc khắc phục mọi thiếu sót của nền tảng MV3. Chúng tôi cũng chia sẻ những bản phát hành API sắp tới thú vị như Reading List API và User Scripts API.
Tăng giới hạn bộ quy tắc tĩnh trong Declarative Net Request API
Đăng vào
Theo ý kiến phản hồi trong Nhóm cộng đồng Tiện ích trên web, chúng tôi sẽ tăng đáng kể giới hạn về số lượng quy tắc tĩnh đã bật từ 10 lên 50. Ngoài ra, chúng tôi sẽ tăng tổng số quy tắc tĩnh được phép từ 50 lên 100. Tính năng này hiện có trong phiên bản Canary.
Hướng dẫn chi tiết hơn về mã được lưu trữ từ xa
Đăng vào
Một yêu cầu đối với Manifest V3 là các tiện ích không được sử dụng mã được lưu trữ từ xa nữa. Mặc dù đây là một phần trong hướng dẫn di chuyển của chúng tôi ngay từ đầu, nhưng chúng tôi cho rằng hướng dẫn về vấn đề này cần được cải thiện. Trang đó hiện cung cấp thêm thông tin, mô tả những gì vẫn có thể thực hiện trong Manifest V3 và cung cấp thêm thông tin về các chiến lược nâng cấp.
Có một nội dung bổ sung liên quan đến bài viết Khắc phục lỗi vi phạm trên Cửa hàng Chrome trực tuyến. Một phần mới mô tả những lý do phổ biến khiến các tiện ích có mã được lưu trữ từ xa bị từ chối.
Chrome 118: isUrlFilterCaseSensitive hiện mặc định là false
Đăng vào
Kể từ Chrome 118, thuộc tính isUrlFilterCaseSensitive
trong API chrome.declarativeNetRequest đã được thay đổi thành mặc định là false
. Nếu muốn giữ lại hành vi cũ, bạn có thể đặt isUrlFilterCaseSensitive
thành true
một cách rõ ràng trong các quy tắc declarativeNetRequest.
Điều này tuân theo các cuộc thảo luận trong Nhóm cộng đồng Tiện ích cho web. Firefox và Safari đã triển khai một thay đổi tương tự.
Tài liệu về cookie và API bộ nhớ trên web
Đăng vào
Chúng tôi đã xuất bản một hướng dẫn mới về cách cookie và API bộ nhớ trên web hoạt động trong các tiện ích trên Chrome. Tài liệu này bao gồm thông tin chi tiết về các thay đổi đối với cookie và việc phân vùng bộ nhớ trong Hộp cát về quyền riêng tư, một dự án đang diễn ra nhằm ngừng sử dụng cookie của bên thứ ba thông qua việc tạo một loạt API nền tảng web mới, cũng như thông tin chi tiết về cách các API này hoạt động trong các tiện ích.
Giờ đây, bạn có thể tìm kiếm các mẫu phần mở rộng
Đăng vào
Gần đây, chúng tôi đã tạo một trang cho phép bạn tìm kiếm các mẫu tiện ích Chrome. Trang tìm kiếm có nhiều lựa chọn. Hộp tìm kiếm cho phép bạn tìm kiếm văn bản trong tiêu đề mẫu. Bạn có thể hạn chế phạm vi tìm kiếm theo quyền hoặc API tiện ích. Một bộ lọc bổ sung cho phép bạn giới hạn phạm vi tìm kiếm trong các mẫu API hoặc mẫu chức năng (trường hợp sử dụng).
Trang mẫu mới này được xây dựng bởi Xuezhou Dai, một người tham gia chương trình Google Summer of Code. Anh cũng đóng góp một số mẫu mới. Bạn có thể đọc về trải nghiệm của họ trong mùa hè vừa qua trong bài đăng của họ trên blog của chúng tôi.
Như trước đây, bạn vẫn có thể sao chép hoặc phân nhánh các mẫu mã của chúng tôi trên GitHub.
Chrome 118: Thay đổi đối với việc mở URL theo lược đồ tệp
Đăng vào
Kể từ Chrome 118, các tiện ích sẽ cần bật chế độ cài đặt "Cho phép truy cập vào các URL của tệp" trên trang chrome://extensions
để mở các URL theo lược đồ file:// bằng cách sử dụng API Tabs hoặc Windows. Bạn có thể kiểm tra quyền truy cập này theo phương thức lập trình bằng cách gọi chrome.extension.isAllowedFileSchemeAccess()
. Firefox đã hạn chế URL tệp và Safari hỗ trợ thay đổi này. Để biết thêm thông tin, hãy đọc bài đăng trong Danh sách gửi thư về tiện ích của Chrome.
Chrome 117: Mở rộng các biện pháp bảo vệ URL đối với các thao tác điều hướng API tiện ích
Đăng vào
Trước đây, thao tác điều hướng được kích hoạt từ các lệnh gọi API tiện ích cho tabs.update()
, tabs.create()
và windows.create()
sẽ phát ra lỗi cho một số URL chrome://. Ngoài ra, bạn không được phép gọi tabs.update()
bằng URL JavaScript. Trong phiên bản 117, các biện pháp bảo vệ này đối với URL JavaScript đã được mở rộng sang phương thức tabs.create()
và một số URL chrome:// khác đã được thêm vào danh sách URL bị cấm áp dụng cho tất cả các phương thức đã đề cập trước đó.
Cải thiện hướng dẫn cho declarativeNetRequest API
Ngày đăng:
API chrome.declarativeNetRequest
chặn hoặc sửa đổi các yêu cầu mạng bằng cách chỉ định các quy tắc khai báo. Điều này cho phép các tiện ích sửa đổi yêu cầu mạng mà không cần chặn các yêu cầu đó và xem nội dung của chúng, nhờ đó mang lại nhiều quyền riêng tư hơn cho người dùng. Tính năng này cũng khó sử dụng. Vì vậy, chúng tôi đã viết lại hướng dẫn theo cách mà chúng tôi cho rằng sẽ giúp bạn hiểu rõ hơn về cách triển khai bộ quy tắc khai báo. Đọc phần mới tại đường liên kết ở trên.
Sử dụng tài khoản Google Analytics với Cửa hàng Chrome trực tuyến
Ngày đăng:
Cửa hàng Chrome trực tuyến tích hợp với Google Analytics, cho phép bạn xem số liệu phân tích cho trang thông tin của mình trên Cửa hàng Chrome trực tuyến, ngoài chế độ xem được cung cấp trong Trang tổng quan dành cho nhà phát triển. Để biết thêm thông tin, hãy đọc bài viết Sử dụng tài khoản Google Analytics với Cửa hàng Chrome trực tuyến.
Chrome 115: Theo mặc định, Công cụ cho nhà phát triển sẽ bỏ qua các tập lệnh nội dung
Đăng vào
Theo mặc định, các tập lệnh nội dung được chèn hiện nằm trong danh sách bỏ qua của Công cụ cho nhà phát triển. Điều này không ảnh hưởng đến các điểm ngắt, nhưng có nghĩa là các tập lệnh nội dung sẽ bị bỏ qua trong quá trình gỡ lỗi và các trường hợp ngoại lệ từ các tập lệnh này sẽ bị bỏ qua. Khi một tập lệnh nội dung đang mở trong thẻ Nguồn, một biểu ngữ sẽ cảnh báo cho bạn nếu tính năng này đang bật và cung cấp lựa chọn xoá tập lệnh nội dung khỏi danh sách bỏ qua. Để tắt hành vi này, hãy mở Công cụ cho nhà phát triển, chuyển đến phần Cài đặt rồi chọn Danh sách bỏ qua. Để tìm hiểu thêm, hãy xem bài viết Có gì mới trong Công cụ cho nhà phát triển.
Chrome 116 beta: Nhiều tính năng hơn những gì chúng tôi có thể đề cập ở đây
Đăng vào
Chrome 116 là một bản phát hành lớn dành cho các tiện ích. Giờ đây, bạn có thể mở bảng điều khiển bên theo cách lập trình. Một phương thức mới giúp bạn biết liệu có tài liệu nào đang hoạt động ngoài màn hình hay không. Trình chạy dịch vụ đã có một số điểm cải tiến. Có đủ các điểm cải tiến trong phiên bản 116 để chúng tôi viết một bài đăng trên blog nhằm đề cập đến những điểm này. Chrome 116 hiện đang ở giai đoạn thử nghiệm beta kể từ ngày 19 tháng 7.
Bài đăng trên blog: Tình hình phát triển của Tiện ích Chrome
Đăng vào
Chúng tôi vừa xuất bản một bài viết tổng quan về các thay đổi và điểm cải tiến đối với tiện ích trong năm nay. Bài đăng này thảo luận về các tính năng mới quan trọng trong năm, bao gồm Side Panel API, các điểm cải tiến về worker dịch vụ và tài liệu ngoài màn hình. Bạn cũng sẽ xem trước được những nội dung mà chúng tôi đang thực hiện trong quý này. Bài viết này liệt kê nhiều thông tin hơn, kèm theo đường liên kết đến tất cả các thông tin đó.
Hướng dẫn và mẫu mới: Tìm hiểu cách sử dụng Google Analytics 4 trong tiện ích Chrome
Đăng vào
Chúng tôi đã xuất bản hướng dẫn và mẫu mới về Google Analytics và vị trí địa lý:
- Phiên bản mới của hướng dẫn về Google Analytics giải thích cách bạn có thể sử dụng Google Analytics 4 trong tiện ích Chrome. Chúng tôi cũng đã thêm một mẫu Google Analytics 4 đang hoạt động vào kho lưu trữ mẫu Github của mình. Hãy xem
google-analytics.js
để biết mã có liên quan đến Google Analytics. - Hướng dẫn mới về vị trí địa lý và 3 mẫu minh hoạ cách truy cập vào vị trí địa lý trong các worker dịch vụ, tập lệnh nội dung, cửa sổ bật lên và bảng điều khiển bên.
Chrome 115: Chỉ định nhiều lý do trong chrome.offscreen.createDocument()
Đăng vào
Giờ đây, bạn có thể chỉ định nhiều enum reason
khi gọi chrome.offscreen.createDocument()
. Sử dụng phương thức này khi tài liệu ngoài màn hình sẽ được dùng cho nhiều mục đích khác nhau. Trình duyệt sử dụng các lý do được cung cấp để xác định thời gian tồn tại của tài liệu ngoài màn hình.
Công cụ mới: Công cụ kiểm thử bản cập nhật tiện ích
Đăng vào
Chúng tôi vừa phát hành Công cụ kiểm thử bản cập nhật tiện ích, một máy chủ cập nhật tiện ích cục bộ có thể dùng để kiểm thử các bản cập nhật cho Tiện ích của Chrome trong quá trình phát triển cục bộ, bao gồm cả việc cấp quyền. Công cụ này cho thấy quy trình cập nhật của người dùng, bao gồm cả việc giữ tiện ích bị vô hiệu hoá cho đến khi người dùng cấp mọi quyền mới được yêu cầu. Công cụ này đặc biệt hữu ích khi mô phỏng các thay đổi về quyền được yêu cầu khi cập nhật một tiện ích từ Manifest V2 lên Manifest V3.
Chrome 114: API Bảng điều khiển bên mới
Đăng vào
Giới thiệu Side Panel API mới, một giao diện đi kèm cho phép người dùng truy cập vào các công cụ cùng với nội dung mà họ đang duyệt xem. Để tìm hiểu thêm, hãy truy cập vào Tài liệu tham khảo về Side Panel API. Ngoài ra, chúng tôi đã thêm nhiều mẫu bảng điều khiển bên vào kho lưu trữ mẫu trên GitHub. Chúng tôi cũng chia sẻ thêm về bảng điều khiển bên trong bài đăng mới trên blog Thiết kế trải nghiệm người dùng vượt trội bằng Side Panel API mới. Chúng tôi cũng đã xem xét chính sách về nguyên tắc chất lượng và các phương pháp hay nhất để cung cấp thêm hướng dẫn về cách tạo tiện ích bảng điều khiển bên chất lượng cao.
Ý kiến phản hồi của bạn rất quan trọng trong việc xây dựng API này. Vui lòng chia sẻ ý kiến và yêu cầu về tính năng của bạn trong chromium-groups. Hãy chú ý theo dõi thông tin cập nhật mới khi chúng tôi tiếp tục cải thiện Side Panel API.
Mẫu mới: WASM trong tiện ích
Đăng vào
Có 2 mẫu mới minh hoạ cách sử dụng WASM trong một tiện ích:
- Sử dụng WASM trong Manifest V3 cho thấy phương thức chung để thêm một mô-đun WASM.
- Sử dụng WASM làm mô-đun trong Manifest V3 cho biết cách sử dụng WASM trong một mô-đun.
Xin chân thành cảm ơn cộng tác viên @daidr trên GitHub vì những mẫu này.
Hướng dẫn mới về việc di chuyển sang Manifest V3
Đăng vào
Chúng tôi đã cập nhật phần Các vấn đề đã biết trong hướng dẫn di chuyển sang Manifest V3 bằng danh sách mới về những điểm thiếu sót của nền tảng tiện ích mà chúng tôi dự định khắc phục trước khi công bố tiến trình mới về việc ngừng sử dụng Manifest V2.
Ghi âm thanh và video bằng Manifest V3
Đăng vào
Chúng tôi vừa xuất bản một bài viết mới có tên là Ghi âm và chụp ảnh màn hình. Bài viết này đề cập đến việc ghi âm hoặc ghi hình từ một thẻ, cửa sổ hoặc màn hình trong Manifest V3. Bài viết này mô tả nhiều phương pháp ghi hình liên quan đến API chrome.tabCapture
và hàm getDisplayMedia()
.
Chrome 114: Tăng hạn mức storage.local
Đăng vào
Chúng tôi đã tăng hạn mức cho thuộc tính storage.local
lên khoảng 10 MB. Điều này đã được thoả thuận trong Nhóm cộng đồng về tiện ích cho web. Điều này giúp storage.local
phù hợp với storage.session
(đã thay đổi trong Chrome 112).
Hướng dẫn và trợ giúp về trình chạy dịch vụ tiện ích mới
Đăng ngày
Service Worker là một phần không thể thiếu của Tiện ích Chrome. Chúng tôi vừa xuất bản một hướng dẫn giải thích những điều cơ bản về cách đăng ký, gỡ lỗi và tương tác với Service Worker. Chúng tôi cũng đã thêm Hướng dẫn về worker dịch vụ mới để giải thích chi tiết hơn về các khái niệm quan trọng. Chúng tôi sẽ mở rộng phần này trong những tháng tới.
Các mẹo khác để khắc phục lỗi vi phạm đối với Cửa hàng trực tuyến
Đăng vào
Để hỗ trợ việc xuất bản trên Cửa hàng Chrome trực tuyến, chúng tôi đã thêm hướng dẫn mới ở hai lĩnh vực. Hướng dẫn về chức năng tối thiểu tập trung vào việc cung cấp lợi ích cho người dùng và làm phong phú trải nghiệm duyệt web của họ. Hướng dẫn về quảng cáo liên kết là để người dùng biết về những tiện ích sử dụng đường liên kết hoặc mã liên kết để kiếm tiền, đồng thời cho phép họ kiểm soát một phần bằng cách yêu cầu người dùng thực hiện thao tác trước khi thêm.
Hướng dẫn mới về Trình chuyển đổi tệp kê khai tiện ích
Đăng vào
Chúng tôi đã viết lại tệp README cho Extension Manifest Converter (Trình chuyển đổi tệp kê khai tiện ích) để bạn dễ dàng biết được những việc cần làm sau khi chạy công cụ này. Trình chuyển đổi này giúp di chuyển các tiện ích được xây dựng trên Manifest V2 sang Manifest V3. Tệp README mới mô tả chức năng của công cụ bằng những từ ngữ gần giống với những từ ngữ trong danh sách kiểm tra của hướng dẫn di chuyển. Trình chuyển đổi không làm được mọi thứ, nhưng nó giúp loại bỏ nhiều tác vụ không yêu cầu con người phải đưa ra phán đoán.
Chrome 113: Lý do mới cho tài liệu ngoài màn hình
Đăng vào
Chúng tôi đã thêm 2 loại lý do mới vào Offscreen Documents API. Sử dụng LOCAL_STORAGE
để truy cập vào API localStorage của nền tảng web. Sử dụng WORKER
khi tạo web worker.
Google Analytics 4 hiện có trong Trang tổng quan dành cho nhà phát triển
Đăng ngày
Trang tổng quan dành cho nhà phát triển Cửa hàng Chrome trực tuyến hiện hỗ trợ Google Analytics 4 (GA4). Chúng tôi đã đơn giản hoá quy trình thiết lập Google Analytics và giúp việc quản lý quyền truy cập cho nhà xuất bản theo nhóm trở nên dễ dàng hơn. Nếu trước đây bạn đã sử dụng Google Universal Analytics để theo dõi hoạt động của trang thông tin cửa hàng, thì bạn cần phải thực hiện các bước trước ngày 1 tháng 7 năm 2023 để đảm bảo bạn tiếp tục nhận được dữ liệu về trang thông tin cửa hàng. Để biết thêm thông tin, hãy xem bài đăng trên Danh sách gửi thư về tiện ích của Chrome.
API Xử lý tệp có trên ChromeOS
Đăng vào
Bạn có thể dùng thử File Handler API trên ChromeOS trong phiên bản Canary 112 và 113. API này cho phép các tiện ích trên ChromeOS mở tệp có loại MIME và đuôi tệp được chỉ định. Để triển khai tính năng xử lý tệp, hãy thêm một bộ quy tắc vào manifest.json
. Tính năng này hoạt động giống như đối với Ứng dụng web tiến bộ. Để biết thêm thông tin, hãy xem bài viết ở nơi khác trên trang web này.
Cách bật tính năng xử lý tệp:
- Bắt đầu từ phiên bản 112, hãy chạy Chrome bằng cờ
--enable-features=ExtensionWebFileHandlers
, bắt đầu từ phiên bản 112 - Kể từ phiên bản 113, hãy dán
os://flags/#extension-web-file-handlers
vào hộp đa năng của Chrome rồi chọn "Đã bật" trong trình đơn thả xuống.
Chúng tôi hy vọng có thể ra mắt tính năng này trong Chrome 115 vào cuối tháng 6. Hãy theo dõi trang này để nắm bắt thông tin cập nhật.
Các mẫu mới: khai báo động và chèn theo chương trình
Đăng vào
Chúng tôi đã tạo một mẫu mới cho API chrome.scripting
. Ví dụ này minh hoạ các khai báo động (nơi tập lệnh nội dung được đăng ký trong thời gian chạy) và tính năng chèn có lập trình (nơi tập lệnh được thực thi trong một thẻ đã mở).
Mẫu mới: Các trường hợp sử dụng Declarative Net Request
Đăng vào
Có 3 mẫu mới minh hoạ Declarative Net Request API. Mỗi mẫu minh hoạ việc triển khai một trường hợp sử dụng duy nhất. Cách đầu tiên cho biết cách chặn cookie. Hai ví dụ còn lại minh hoạ cách chặn và chuyển hướng URL.
Chrome 112: Tăng hạn mức storage.session
Đăng ngày
Kể từ Chrome 112, hạn mức cho thuộc tính storage.session
đã tăng lên khoảng 10 MB. Điều này đã được thoả thuận trong Nhóm cộng đồng tiện ích trên web: https://github.com/w3c/webextensions/issues/350
Chrome 109: Tài liệu ngoài màn hình
Đăng vào
Hiện tại, các tài liệu ngoài màn hình đã có trong tiện ích Manifest V3. Những API này hỗ trợ quá trình chuyển đổi từ các trang nền sang các worker dịch vụ của tiện ích bằng cách hỗ trợ các tính năng và API liên quan đến DOM. Để biết thêm thông tin, hãy đọc bài đăng trên blog.
Chrome 110: Tiện ích có được bật hay không
Đăng vào
Phương thức chrome.action.isEnabled()
sẽ kiểm tra theo phương thức lập trình xem một tiện ích đã được bật cho một thẻ cụ thể hay chưa. Điều này giúp bạn không phải duy trì trạng thái đã bật của các thẻ. Phương thức mới này nhận một mã nhận dạng thẻ và một tham chiếu đến một lệnh gọi lại, đồng thời trả về một giá trị boolean. Có một hạn chế là các thẻ được tạo bằng chrome.declarativeContent
luôn trả về giá trị false.
(Không gian tên chrome.action
gần đây đã có các phương thức mới để kiểm soát giao diện của huy hiệu tiện ích. Để biết thêm thông tin, hãy xem bài viết Đặt màu sắc cho huy hiệu.)
Chrome 110: Thay đổi về thời gian chờ không hoạt động của worker dịch vụ
Đăng ngày
Trước đây, một worker dịch vụ của tiện ích thường sẽ tắt sau 5 phút. Chúng tôi đã thay đổi hành vi này để giống với thời gian hoạt động của worker dịch vụ trên web hơn. Trình chạy dịch vụ của tiện ích sẽ bị tắt sau 30 giây không hoạt động hoặc nếu một hoạt động mất hơn 5 phút để xử lý. Để biết thêm thông tin, hãy xem bài viết Thời gian hoạt động lâu hơn của service worker tiện ích.
Bài đăng: Tạm dừng việc loại bỏ Manifest V2
Đăng ngày
Chúng tôi đang xem xét tiến trình ngừng cung cấp Manifest V2 và sẽ hoãn các thử nghiệm dự kiến diễn ra vào đầu năm 2023. Để biết thêm thông tin, hãy đọc thông tin cập nhật trong Danh sách gửi thư về tiện ích của Chrome.
Chrome 110: Đặt màu huy hiệu
Đăng vào
Không gian tên chrome.action
có 2 phương thức mới để giúp bạn kiểm soát huy hiệu tiện ích về hình thức một cách hiệu quả hơn. Các phương thức setBadgeTextColor()
và getBadgeTextColor()
cho phép một tiện ích thay đổi và truy vấn màu văn bản huy hiệu của biểu tượng trên thanh công cụ. Khi dùng với setBadgeBackgroundColor
và getBadgeBackgroundColor
, các phương thức mới này cho phép bạn thực thi tính nhất quán về thiết kế và thương hiệu.
Bài đăng trên blog: Thông tin chi tiết khác về quá trình chuyển đổi sang Manifest V3
Đăng vào
Chúng tôi đã làm rõ tiến trình ngừng sử dụng Manifest V2. Chúng tôi cũng đã cập nhật tiến trình của dịch vụ hỗ trợ nền tảng Manifest V2 để phản ánh thông tin này.
Nội dung cập nhật cho tài liệu: Các vấn đề đã biết khi di chuyển sang Manifest V3
Đăng vào
Chúng tôi đã tổng hợp một danh sách các tính năng chính hiện đang được phát triển và các lỗi chưa được khắc phục. Mục tiêu của chúng tôi khi tạo trang này là giúp nhà phát triển hiểu rõ hơn về trạng thái hiện tại của nền tảng và những tính năng mà họ có thể nhắm đến khi chuẩn bị cho tương lai.
Cửa hàng Chrome trực tuyến: Đã xoá tính năng tải hình ảnh "ô quảng cáo lớn" lên
Đăng vào
Cửa hàng Chrome trực tuyến đã xoá giao diện người dùng tải lên "ô quảng cáo lớn" khỏi thẻ Trang thông tin trên Cửa hàng của mặt hàng trong trang tổng quan dành cho nhà phát triển. Thay đổi này không ảnh hưởng đến trải nghiệm của người dùng cuối vì những hình ảnh này không được dùng trong giao diện người dùng thông thường. Hãy xem bài đăng này về các tiện ích của Chromium để biết thêm thông tin chi tiết.
Chrome 106: Cho phép các trang trên URL file:// truy cập vào các tài nguyên có thể truy cập trên web
Đăng vào
Các nguồn gốc không rõ ràng như iframe được cách ly và tính năng nhập động cũng có thể truy cập vào các tài nguyên có thể truy cập trên web, theo crbug.com/1219825#c11.
Chrome 106: Đã khắc phục lỗi cho phép các đối số cuối không chính xác trên một số hàm API không đồng bộ
Đăng vào
Trước đây, Manifest V3 gọi các API không đồng bộ có thể cung cấp một đối số cuối cùng không hợp lệ và Chrome sẽ không báo lỗi. Với bản sửa lỗi này, Chrome hiện sẽ báo lỗi chính xác và báo cáo rằng không có chữ ký nào khớp. Nhà phát triển nên kiểm tra các tiện ích của họ trên Canary để tìm lỗi trong trường hợp họ vô tình sử dụng chữ ký không chính xác cho một lệnh gọi API sẽ bị hỏng do bản sửa lỗi này.
Bài đăng trên blog: Thay đổi lớn về số liệu phân tích của Cửa hàng Chrome trực tuyến
Đăng ngày
Cửa hàng Chrome trực tuyến đã cải tiến trải nghiệm phân tích mặt hàng cho Trang tổng quan dành cho nhà phát triển Cửa hàng Chrome trực tuyến. Trang tổng quan mới giúp bạn dễ dàng nắm bắt thông tin và tổng hợp những thông tin hữu ích nhất ngay từ đầu. Đọc bài đăng trên blog để biết thêm thông tin.
Chrome 105: các promise cho Identity API
Đăng vào
Các hàm trên Identity API hiện hỗ trợ các lệnh gọi dựa trên lời hứa. Điều này đi kèm với một thay đổi nhỏ đối với giao diện của identity.getAuthToken()
, trong đó tập hợp trả về không đồng bộ được đặt thành một lệnh gọi dựa trên lời hứa sẽ có "token" và "grantedScopes" làm tham số trên một đối tượng duy nhất (thay vì phiên bản lệnh gọi lại nhận chúng làm đối số riêng biệt cho lệnh gọi lại).
Chrome 104: API biểu tượng yêu thích mới cho Manifest V3
Đăng vào
Giờ đây, các tiện ích Manifest V3 có thể truy cập vào biểu tượng yêu thích bằng một mẫu URL mới: chrome-extension://<id>/_favicon/
, trong đó chrome://favicons
của nền tảng Manifest V2. Hãy xem tài liệu về Favicon API để biết thêm thông tin.
Nội dung cập nhật cho tài liệu: Thông tin tiết lộ về nhà giao dịch/người không phải nhà giao dịch của nhà phát triển
Đăng vào
Thêm thông tin nhận dạng nhà phát triển là người bán/không phải là người bán để thông báo cho nhà phát triển tự khai báo chính xác trạng thái người bán/không phải là người bán của họ.
Chrome 103: Wasm trong Manifest V3 yêu cầu wasm-unsafe-eval
Đăng vào
Theo mặc định, Chrome không còn cấp script-src: wasm-unsafe-eval
cho các tiện ích nữa. Giờ đây, các tiện ích sử dụng WebAssembly phải thêm một cách rõ ràng chỉ thị và giá trị này vào extension_pages
trong các khai báo content_security_policy
.
Chrome 103: Các thay đổi về phím tắt MV3 có hiệu lực ngay lập tức
Đăng ngày
Khi bạn thay đổi phím tắt của một tiện ích Manifest V3 trên chrome://extensions/shortcuts
, các nội dung cập nhật hiện sẽ được áp dụng ngay lập tức. Trước đây, tiện ích sẽ phải được tải lại thì thay đổi mới có hiệu lực.
Chrome 102: Tập lệnh nội dung động trong thế giới chính
Đăng vào
Giờ đây, tập lệnh nội dung được đăng ký động có thể chỉ định world mà các thành phần sẽ được chèn vào. Hãy xem scripting.registerContentScripts()
để biết thông tin chi tiết.
Chrome 102: Trường tệp kê khai mới "optional_host_permissions"
Đăng vào
Giờ đây, các tiện ích Manifest V3 có thể chỉ định khoá optional_host_permissions
trong manifest.json. Điều này cho phép các tiện ích Manifest V3 khai báo các mẫu so khớp không bắt buộc cho máy chủ lưu trữ giống như các tiện ích Manifest V2 có thể sử dụng khoá optional_permissions
.
Chrome 102: thuộc tính injectImmediately trong scripting.executeScript()
Đăng vào
chrome.scripting.executeScript()
hiện chấp nhận một thuộc tính injectImmediately
không bắt buộc trên đối số injection
. Nếu có và được đặt thành true, tập lệnh sẽ chèn vào mục tiêu càng sớm càng tốt, thay vì đợi document_idle
. Xin lưu ý rằng điều này không đảm bảo tập lệnh sẽ chèn trước khi trang được tải vì trang tiếp tục tải trong khi lệnh gọi API đang được thực hiện.
Chrome 102: Hỗ trợ Omnibox API trong Manifest V3
Đăng vào
Giờ đây, bạn có thể sử dụng Omnibox API trong các tiện ích dựa trên worker dịch vụ. Trước đây, một số phương thức của API này sẽ gặp lỗi khi được gọi do các phần phụ thuộc nội bộ vào các chức năng DOM.
Chrome 102: wasm-unsafe-eval được phép trong CSP Manifest V3
Đăng vào
Giờ đây, các tiện ích Manifest V3 có thể bao gồm wasm-unsafe-eval
trong các khai báo content_security_policy
. Thay đổi này cho phép các tiện ích Manifest V3 sử dụng WebAssembly.
Chrome 102: API storage.session mới
Đăng vào
Giờ đây, các tiện ích Manifest V3 có thể sử dụng bộ nhớ trong storage.session .
Nội dung cập nhật cho tài liệu: Khám phá các mục trong Cửa hàng Chrome trực tuyến
Đăng ngày
Khám phá trên Cửa hàng Chrome trực tuyến cung cấp thông tin tổng quan về cách người dùng tìm thấy các mặt hàng trên Cửa hàng Chrome trực tuyến và cách các biên tập viên của chúng tôi chọn mặt hàng để giới thiệu.
Chrome 101: Cải thiện các điều kiện về miền declarativeNetRequest
Đăng ngày
Các điều kiện quy tắc declarativeNetRequest đã được cập nhật để cho phép các tiện ích nhắm mục tiêu yêu cầu hiệu quả hơn dựa trên miền "request" và "initiator" của yêu cầu. Các thuộc tính điều kiện có liên quan là initiatorDomains
, excludedInitiatorDomains
, requestDomains
và excludedRequestDomains
. Xem thêm chuỗi chromium-extensions này.
Chrome 100: Đã giải quyết vấn đề với scripting.executeScript() trên các thẻ mới tạo
Khắc phục một vấn đề tồn tại từ lâu, đó là việc gọi scripting.executeScript()
trên một thẻ hoặc cửa sổ mới tạo có thể không thành công.
Chrome 100: cổng nhắn tin gốc duy trì hoạt động của worker dịch vụ
Đăng vào
Việc kết nối với một máy chủ nhắn tin gốc bằng chrome.runtime.connectNative()
trong trình chạy dịch vụ của tiện ích sẽ giữ cho trình chạy dịch vụ hoạt động miễn là cổng đang mở.
Chrome 100: omnibox.setDefaultSuggestion() hỗ trợ các lời hứa và lệnh gọi lại
Đăng vào
Phương thức omnibox.setDefaultSuggestion()
hiện trả về một lời hứa hoặc chấp nhận một lệnh gọi lại để cho phép nhà phát triển xác định thời điểm đề xuất được thiết lập đúng cách.
Chrome 100: Hỗ trợ i18n.getMessage() trong các worker dịch vụ của tiện ích
Đăng ngày
API chrome.i18n.getMessage()
hiện được hỗ trợ trong các bối cảnh của trình chạy dịch vụ tiện ích.
Chrome 99: match_origin_as_fallback trong Canary
Đăng vào
Giờ đây, tập lệnh nội dung có thể chỉ định khoá match_origin_as_fallback
để chèn vào các khung liên quan đến một khung phù hợp, bao gồm cả các khung có URL about:
, data:
, blob:
và filesystem:
. Hãy xem tài liệu về tập lệnh nội dung để biết thông tin chi tiết.
Chrome 99: hỗ trợ trình chạy dịch vụ tiện ích cho các lược đồ tệp trong Canary
Đăng vào
Các tiện ích Manifest V2 và Manifest V3 dựa trên service worker hiện có thể dùng Fetch API để yêu cầu URL theo lược đồ file:
. Để truy cập vào URL theo lược đồ file:
, người dùng vẫn phải bật chế độ "Cho phép truy cập vào URL của tệp" cho tiện ích trên trang chrome://extensions
.
Chrome 99: hỗ trợ promise cho các API nhắn tin trong Canary
Đăng vào
Chúng tôi đã thêm tính năng hỗ trợ Promise vào tabs.sendMessage
, runtime.sendMessage
và runtime.sendNativeMessage
cho các tiện ích được tạo cho Manifest V3.
Thông tin cập nhật về tài liệu: Tài liệu đánh giá trên Cửa hàng Chrome trực tuyến
Đăng vào
Đã thêm một trang thông tin tham khảo mới cung cấp thông tin tổng quan về quy trình đánh giá của Cửa hàng Chrome trực tuyến và giải thích cách xử lý việc thực thi chính sách chương trình dành cho nhà phát triển.
Chrome 98: scripting.executeScript() và scripting.insertCSS() chấp nhận nhiều tệp
Đăng vào
Các phương thức executeScript()
và insertCSS()
của Scripting API hiện chấp nhận nhiều tệp. Trước đây, các phương thức này yêu cầu một mảng có một mục nhập tệp duy nhất.
Thông tin cập nhật về tài liệu: xem xét thông tin cập nhật về cách khắc phục lỗi vi phạm
Đăng vào
Trang Khắc phục lỗi vi phạm trên Cửa hàng Chrome trực tuyến đã được cập nhật để cung cấp cho nhà phát triển hướng dẫn chi tiết hơn về những lý do phổ biến dẫn đến việc bị từ chối.
Chrome 96: mở rộng hỗ trợ promise cho thêm 27 API
Đăng vào
Bản phát hành này có nhiều bản cập nhật về lời hứa hơn đáng kể so với bất kỳ bản phát hành nào trước đây. Các bản cập nhật bao gồm cả API tiện ích chung và API tiện ích dành riêng cho ChromeOS. Hãy mở rộng các phần sau để biết thông tin chi tiết.
API tiện ích
Một số API hiện hỗ trợ các promise trong Manifest V3.
chrome.browsingData
chrome.commands
chrome.contentSettings
chrome.debugger
chrome.downloads
chrome.enterprise.hardwarePlatform
chrome.fontSettings
chrome.history
chrome.instanceID
chrome.permissions
chrome.processes
chrome.search
chrome.sessions
chrome.topSites
Ngoài ra, các API sử dụng nguyên mẫu ChromeSetting
hiện cũng hỗ trợ các promise. Những API sau đây sẽ chịu ảnh hưởng của thay đổi này.
API ChromeOS
chrome.certificateProvider
chrome.documentScan
chrome.enterprise.deviceAttributes
chrome.enterprise.networkingAttributes
chrome.fileBrowserHandler
chrome.fileSystemProvider
chrome.loginState
chrome.printingMetrics
chrome.wallpaper
Chrome 96: tập lệnh nội dung động
Đăng vào
API chrome.scripting
hiện hỗ trợ đăng ký, cập nhật, huỷ đăng ký và lấy danh sách các tập lệnh nội dung trong thời gian chạy. Trước đây, tập lệnh nội dung chỉ có thể được khai báo tĩnh trong manifest.json của tiện ích hoặc được chèn theo chương trình trong thời gian chạy bằng chrome.scripting.executeScript()
.
Nội dung cập nhật cho tài liệu: Tiến trình hỗ trợ Manifest V2
Đăng vào
Tiến trình chuyển đổi từ Manifest V2 sang V3 đã được thông báo trong bài đăng này trên blog và một trang tiến trình chi tiết hơn đã được xuất bản.
Chrome 96: quyền declarativeNetRequestWithHostAccess
Đăng vào
Quyền declarativeNetRequestWithHostAccess
mới cho phép các tiện ích sử dụng API chrome.declarativeNetRequest
trên những trang web mà tiện ích có quyền truy cập vào máy chủ lưu trữ. Điều này cũng cho phép các tiện ích Manifest V2 hiện có sử dụng webRequest
, webRequestBlocking
và quyền truy cập của máy chủ lưu trữ dành riêng cho trang web di chuyển sang API chrome.declarativeNetRequest
mà không yêu cầu người dùng phê duyệt các quyền mới.
Chrome 95: chèn tập lệnh trực tiếp vào các trang
Đăng vào
Phương thức chrome.scripting
của API executeScript()
hiện có thể chèn tập lệnh trực tiếp vào thế giới chính của một trang. Trước đây, các tiện ích chỉ có thể chèn trực tiếp vào thế giới biệt lập của tiện ích. Để biết thêm thông tin về các thế giới biệt lập, hãy xem tài liệu về tập lệnh nội dung.
Chrome 95: hỗ trợ promise cho Storage API
Đăng vào
Các phương thức trên phiên bản Manifest V3 của API chrome.storage
hiện trả về các promise.
Nội dung cập nhật chính sách: thực thi tính năng xác minh 2 bước
Đăng vào
Chúng tôi đã cập nhật bài đăng trên blog về nội dung cập nhật chính sách được xuất bản vào ngày 29 tháng 6 năm 2021 để điều chỉnh tiến trình triển khai tính năng xác minh hai bước.
Chrome 94: thay đổi đối với bộ quy tắc tĩnh declarative net request
Ngày đăng:
chrome.declarativeNetRequest
hiện hỗ trợ việc chỉ định tối đa 50 bộ quy tắc tĩnh (MAX_NUMBER_OF_STATIC_RULESETS) và cho phép tối đa 10 bộ quy tắc (MAX_NUMBER_OF_ENABLED_STATIC_RULESETS) cùng một lúc.
Chrome 93: hỗ trợ tính năng tách biệt nhiều nguồn gốc
Đăng vào
Cả tiện ích Manifest V2 và Manifest V3 hiện đều có thể chọn sử dụng chế độ tách biệt nhiều nguồn gốc. Tính năng này giới hạn những tài nguyên trên nhiều nguồn có thể tải các trang của tiện ích và cho phép sử dụng các tính năng nền tảng web cấp thấp như SharedArrayBuffer
. Bạn sẽ phải chọn sử dụng từ Chrome 95.
Thông tin cập nhật về chính sách: Chính sách chương trình dành cho nhà phát triển đã được cập nhật
Đăng vào
Chính sách chương trình dành cho nhà phát triển của Cửa hàng Chrome trực tuyến đã được cập nhật để làm rõ các chính sách về thủ đoạn cài đặt lừa đảo, nội dung rác và nội dung trùng lặp. Bản cập nhật này cũng bao gồm một yêu cầu mới về quy trình xác minh 2 bước để xuất bản trên Cửa hàng Chrome trực tuyến. Đọc bài đăng trên blog để biết thêm thông tin.
Bài đăng trên blog: các thao tác của tiện ích trong Manifest V3
Đăng vào
Các tiện ích Chrome đã có API chrome.browserAction
và chrome.pageActions
trong nhiều năm, nhưng Manifest V3 đã thay thế cả hai bằng một API chrome.actions
chung. Bài đăng này khám phá lịch sử của các API này và những thay đổi trong Manifest V3. Đọc bài đăng.
Bài đăng trên blog: giới thiệu chrome.scripting
Đăng vào
API chrome.scripting
là một API Manifest V3 mới tập trung vào việc tạo tập lệnh. Trong bài đăng này, chúng ta sẽ tìm hiểu động lực của thay đổi này và xem xét kỹ hơn các chức năng mới của thay đổi này. Đọc bài đăng.
Chrome 92: hỗ trợ trình chạy dịch vụ mô-đun
Đăng vào
Chrome hiện hỗ trợ các mô-đun JavaScript trong worker dịch vụ. Cách chỉ định một mô-đun trong tệp kê khai:
"background": {
"service_worker": "script.js",
"type": "module"
}
Thao tác này tải tập lệnh worker dưới dạng một mô-đun ES, cho phép bạn dùng từ khoá import
trong tập lệnh của worker để nhập các mô-đun khác.
Chrome 91: chrome.action.getUserSettings()
Đăng vào
Phương thức chrome.action.getUserSettings()
mới cho phép các tiện ích xác định xem người dùng có ghim tiện ích vào thanh công cụ chính hay không.
Chrome 90: chrome.scripting.removeCSS()
Đăng vào
Phương thức chrome.scripting.removeCSS()
mới cho phép các tiện ích xoá CSS đã được chèn trước đó thông qua chrome.scripting.insertCSS()
. Nút này thay thế chrome.tabs.removeCSS()
.
Chrome 90: trả về các promise từ scripting.executeScript()
Đăng vào
chrome.scripting.executeScript()
hiện hỗ trợ việc trả về các promise. Nếu giá trị thu được của quá trình thực thi tập lệnh là một promise, Chrome sẽ đợi promise hoàn tất và trả về giá trị thu được.
Chrome 90: Kết quả của chrome.scripting.executeScript() bao gồm frameId
Đăng vào
Kết quả được trả về từ chrome.scripting.executeScript()
hiện bao gồm frameId.
Thuộc tính frameId
cho biết khung hình mà kết quả đến từ đó, cho phép các tiện ích dễ dàng liên kết kết quả với các khung hình riêng lẻ khi chèn vào nhiều khung hình.
Chrome 89: API mới để quản lý nhóm thẻ
Đăng vào
API chrome.tabGroups
mới và các chức năng mới trong chrome.tabs
cho phép các tiện ích đọc và thao tác với các nhóm thẻ.
Yêu cầu Manifest V3.
Chrome 89: quyền có thể tuỳ chỉnh đối với các tài nguyên có thể truy cập trên web
Đăng vào
Định nghĩa tài nguyên có thể truy cập trên web trong Manifest V3 đã thay đổi để cho phép các tiện ích hạn chế quyền truy cập vào tài nguyên dựa trên nguồn gốc của bên yêu cầu hoặc mã nhận dạng tiện ích.
Bài đăng trên blog: Extension Manifest Converter
Đăng ngày
Nhóm Tiện ích của Chrome đã cung cấp mã nguồn mở cho "Extension Manifest Converter", một công cụ Python giúp tự động hoá một số khía cạnh cơ học của việc chuyển đổi tiện ích sang Manifest V3. Xem bài đăng thông báo trên blog và tải xuống từ GitHub.
Chrome 88: Manifest V3 được cung cấp rộng rãi
Đăng vào
Manifest V3 là một bản cập nhật lớn cho nền tảng tiện ích; hãy xem bài viết Tổng quan về Manifest V3 để biết thông tin tóm tắt về các tính năng mới và thay đổi. Hiện tại, các tiện ích vẫn có thể tiếp tục sử dụng Manifest V2, nhưng điều này sẽ không còn được hỗ trợ trong tương lai gần. Bạn nên sử dụng Manifest V3 cho mọi tiện ích mới và bắt đầu di chuyển các tiện ích hiện có sang Manifest V3 càng sớm càng tốt.