refresh date: 2026-09-25 robots: noindex
Mô tả
Sử dụng API chrome.contentSettings để thay đổi các chế độ cài đặt kiểm soát việc trang web có thể sử dụng các tính năng như cookie, JavaScript và trình bổ trợ hay không. Nói chung, chế độ cài đặt nội dung cho phép bạn tuỳ chỉnh hành vi của Chrome theo từng trang web thay vì trên toàn cầu.
Quyền
contentSettingsTệp kê khai
Bạn phải khai báo quyền "contentSettings" trong tệp kê khai của tiện ích để sử dụng API này. Ví dụ:
{
"name": "My extension",
...
"permissions": [
"contentSettings"
],
...
}
Mẫu cài đặt nội dung
Bạn có thể sử dụng mẫu để chỉ định những trang web mà mỗi chế độ cài đặt nội dung ảnh hưởng đến. Ví dụ: https://*.youtube.com/* chỉ định youtube.com và tất cả các miền con của miền này. Cú pháp cho các mẫu chế độ cài đặt nội dung giống như cú pháp cho các mẫu so khớp, chỉ khác một chút:
- Đối với URL
http,httpsvàftp, đường dẫn phải là ký tự đại diện (/*). Đối với URLfile, đường dẫn phải được chỉ định đầy đủ và không được chứa ký tự đại diện. - Không giống như mẫu so khớp, mẫu chế độ cài đặt nội dung có thể chỉ định số cổng. Nếu bạn chỉ định số cổng, mẫu này sẽ chỉ khớp với những trang web có cổng đó. Nếu bạn không chỉ định số cổng, thì mẫu sẽ khớp với tất cả các cổng.
Mức độ ưu tiên của mẫu
Khi có nhiều quy tắc cài đặt nội dung áp dụng cho một trang web nhất định, quy tắc có mẫu cụ thể hơn sẽ được ưu tiên.
Ví dụ: các mẫu sau được sắp xếp theo mức độ ưu tiên:
https://www.example.com/*https://*.example.com/*(so khớp example.com và tất cả các miền con)<all_urls>(khớp mọi URL)
Có 3 loại ký tự đại diện ảnh hưởng đến mức độ cụ thể của một mẫu:
- Ký tự đại diện trong cổng (ví dụ:
https://www.example.com:*/*) - Ký tự đại diện trong giản đồ (ví dụ:
*://www.example.com:123/*) - Ký tự đại diện trong tên máy chủ (ví dụ:
https://*.example.com:123/*)
Nếu một mẫu cụ thể hơn một mẫu khác ở một phần nhưng ít cụ thể hơn ở một phần khác, thì các phần khác nhau sẽ được kiểm tra theo thứ tự sau: tên máy chủ, lược đồ, cổng. Ví dụ: các mẫu sau được sắp xếp theo mức độ ưu tiên:
https://www.example.com:*/*Chỉ định tên máy chủ và lược đồ.*:/www.example.com:123/*Không cao bằng, vì mặc dù chỉ định tên máy chủ nhưng không chỉ định lược đồ.https://*.example.com:123/*Thấp hơn vì mặc dù chỉ định cổng và lược đồ, nhưng nó có ký tự đại diện trong tên máy chủ.
Mẫu chính và mẫu phụ
URL được xem xét khi quyết định áp dụng chế độ cài đặt nội dung nào sẽ phụ thuộc vào loại nội dung.
Ví dụ: chế độ cài đặt contentSettings.notifications dựa trên URL xuất hiện trong thanh địa chỉ. URL này được gọi là URL "chính".
Một số loại nội dung có thể tính đến các URL bổ sung. Ví dụ: việc một trang web có được phép đặt contentSettings.cookies hay không sẽ được quyết định dựa trên URL của yêu cầu HTTP (trong trường hợp này là URL chính) cũng như URL xuất hiện trong hộp đa năng (được gọi là URL "phụ").
Nếu nhiều quy tắc có mẫu chính và mẫu phụ, thì quy tắc có mẫu chính cụ thể hơn sẽ được ưu tiên. Nếu nhiều quy tắc có cùng mẫu chính, thì quy tắc có mẫu phụ cụ thể hơn sẽ được ưu tiên. Ví dụ: danh sách sau đây gồm các cặp mẫu chính/phụ được sắp xếp theo thứ tự ưu tiên:
| Quyền ưu tiên | Mẫu chính | Hoa văn phụ |
|---|---|---|
| 1 | https://www.moose.com/*, | https://www.wombat.com/* |
| 2 | https://www.moose.com/*, | <all_urls> |
| 3 | <all_urls>, | https://www.wombat.com/* |
| 4 | <all_urls>, | <all_urls> |
Giá trị nhận dạng tài nguyên
Giá trị nhận dạng tài nguyên cho phép bạn chỉ định chế độ cài đặt nội dung cho các loại nội dung phụ cụ thể của một loại nội dung.
Hiện tại, loại nội dung duy nhất hỗ trợ giá trị nhận dạng tài nguyên là contentSettings.plugins, trong đó giá trị nhận dạng tài nguyên xác định một trình bổ trợ cụ thể. Khi áp dụng chế độ cài đặt nội dung, trước tiên, chế độ cài đặt cho trình bổ trợ cụ thể sẽ được kiểm tra. Nếu không tìm thấy chế độ cài đặt nào cho trình bổ trợ cụ thể, thì chế độ cài đặt nội dung chung cho trình bổ trợ sẽ được kiểm tra.
Ví dụ: nếu một quy tắc cài đặt nội dung có giá trị nhận dạng tài nguyên adobe-flash-player và mẫu <all_urls>, thì quy tắc đó sẽ được ưu tiên hơn một quy tắc không có giá trị nhận dạng tài nguyên và mẫu https://www.example.com/*, ngay cả khi mẫu đó cụ thể hơn.
Bạn có thể lấy danh sách mã nhận dạng tài nguyên cho một loại nội dung bằng cách gọi phương thức contentSettings.ContentSetting.getResourceIdentifiers. Danh sách được trả về có thể thay đổi theo bộ trình bổ trợ đã cài đặt trên máy của người dùng, nhưng Chrome cố gắng giữ cho các giá trị nhận dạng ổn định trong quá trình cập nhật trình bổ trợ.
Ví dụ
Để dùng thử API này, hãy cài đặt ví dụ về contentSettings API trong kho lưu trữ chrome-extension-samples.
Loại
AutoVerifyContentSetting
Enum
"cho phép"
"chặn"
CameraContentSetting
Enum
"cho phép"
"chặn"
"ask"
ClipboardContentSetting
Enum
"cho phép"
"chặn"
"ask"
ContentSetting
Thuộc tính
-
xoá
void
PromiseXoá tất cả các quy tắc cài đặt nội dung do tiện ích này đặt.
Hàm
clearcó dạng như sau:(details: object, callback?: function) => {...}
-
chi tiết
đối tượng
-
phạm vi
Phạm vi không bắt buộc
Nơi xoá chế độ cài đặt (mặc định: thông thường).
-
-
callback
hàm không bắt buộc
Tham số
callbackcó dạng như sau:() => void
-
returns
Promise<void>
Chrome 96 trở lênChỉ Manifest V3 trở lên mới hỗ trợ Promise, các nền tảng khác cần sử dụng lệnh gọi lại.
-
-
get
void
PromiseLấy chế độ cài đặt nội dung hiện tại cho một cặp URL nhất định.
Hàm
getcó dạng như sau:(details: object, callback?: function) => {...}
-
chi tiết
đối tượng
-
ẩn danh
boolean không bắt buộc
Có kiểm tra chế độ cài đặt nội dung cho một phiên ẩn danh hay không. (mặc định là false)
-
primaryUrl
chuỗi
URL chính mà bạn cần truy xuất chế độ cài đặt nội dung. Xin lưu ý rằng ý nghĩa của URL chính phụ thuộc vào loại nội dung.
-
resourceIdentifier
ResourceIdentifier không bắt buộc
Giá trị nhận dạng cụ thể hơn về loại nội dung mà bạn cần truy xuất chế độ cài đặt.
-
secondaryUrl
chuỗi không bắt buộc
URL phụ mà bạn muốn truy xuất chế độ cài đặt nội dung. Giá trị mặc định là URL chính. Xin lưu ý rằng ý nghĩa của URL phụ phụ thuộc vào loại nội dung và không phải loại nội dung nào cũng sử dụng URL phụ.
-
-
callback
hàm không bắt buộc
Tham số
callbackcó dạng như sau:(details: object) => void
-
chi tiết
đối tượng
-
cài đặt
T
Chế độ cài đặt nội dung. Hãy xem nội dung mô tả của từng đối tượng ContentSetting để biết các giá trị có thể có.
-
-
-
returns
Promise<object>
Chrome 96 trở lênChỉ Manifest V3 trở lên mới hỗ trợ Promise, các nền tảng khác cần sử dụng lệnh gọi lại.
-
-
getResourceIdentifiers
void
PromiseHàm
getResourceIdentifierscó dạng như sau:(callback?: function) => {...}
-
callback
hàm không bắt buộc
Tham số
callbackcó dạng như sau:(resourceIdentifiers?: ResourceIdentifier[]) => void
-
resourceIdentifiers
ResourceIdentifier[] không bắt buộc
Danh sách giá trị nhận dạng tài nguyên cho loại nội dung này hoặc
undefinednếu loại nội dung này không sử dụng giá trị nhận dạng tài nguyên.
-
-
returns
Promise<ResourceIdentifier[]>
Chrome 96 trở lênChỉ Manifest V3 trở lên mới hỗ trợ Promise, các nền tảng khác cần sử dụng lệnh gọi lại.
-
-
đặt
void
PromiseÁp dụng một quy tắc mới về chế độ cài đặt nội dung.
Hàm
setcó dạng như sau:(details: object, callback?: function) => {...}
-
chi tiết
đối tượng
-
primaryPattern
chuỗi
Mẫu cho URL chính. Để biết thông tin chi tiết về định dạng của mẫu, hãy xem phần Mẫu chế độ cài đặt nội dung.
-
resourceIdentifier
ResourceIdentifier không bắt buộc
Giá trị nhận dạng tài nguyên cho loại nội dung.
-
phạm vi
Phạm vi không bắt buộc
Nơi đặt chế độ cài đặt (mặc định: thông thường).
-
secondaryPattern
chuỗi không bắt buộc
Mẫu cho URL phụ. Theo mặc định, chế độ này sẽ so khớp tất cả URL. Để biết thông tin chi tiết về định dạng của một mẫu, hãy xem phần Mẫu chế độ cài đặt nội dung.
-
cài đặt
bất kỳ
Chế độ cài đặt được áp dụng theo quy tắc này. Hãy xem nội dung mô tả của từng đối tượng ContentSetting để biết các giá trị có thể có.
-
-
callback
hàm không bắt buộc
Tham số
callbackcó dạng như sau:() => void
-
returns
Promise<void>
Chrome 96 trở lênChỉ Manifest V3 trở lên mới hỗ trợ Promise, các nền tảng khác cần sử dụng lệnh gọi lại.
-
CookiesContentSetting
Enum
"cho phép"
"chặn"
"session_only"
FullscreenContentSetting
Giá trị
"cho phép"
ImagesContentSetting
Enum
"cho phép"
"chặn"
JavascriptContentSetting
Enum
"cho phép"
"chặn"
LocationContentSetting
Enum
"cho phép"
"chặn"
"ask"
MicrophoneContentSetting
Enum
"cho phép"
"chặn"
"ask"
MouselockContentSetting
Giá trị
"cho phép"
MultipleAutomaticDownloadsContentSetting
Enum
"cho phép"
"chặn"
"ask"
NotificationsContentSetting
Enum
"cho phép"
"chặn"
"ask"
PluginsContentSetting
Giá trị
"chặn"
PopupsContentSetting
Enum
"cho phép"
"chặn"
PpapiBrokerContentSetting
Giá trị
"chặn"
ResourceIdentifier
Loại nội dung duy nhất sử dụng giá trị nhận dạng tài nguyên là contentSettings.plugins. Để biết thêm thông tin, hãy xem phần Mã nhận dạng tài nguyên.
Thuộc tính
-
mô tả
chuỗi không bắt buộc
Nội dung mô tả dễ đọc về tài nguyên.
-
id
chuỗi
Giá trị nhận dạng tài nguyên cho loại nội dung đã cho.
Scope
Phạm vi của ContentSetting. Một trong các chế độ cài đặt regular: chế độ cài đặt cho hồ sơ thông thường (được hồ sơ ẩn danh kế thừa nếu không bị ghi đè ở nơi khác), incognito\_session\_only: chế độ cài đặt cho hồ sơ ẩn danh chỉ có thể được đặt trong phiên ẩn danh và sẽ bị xoá khi phiên ẩn danh kết thúc (ghi đè các chế độ cài đặt thông thường).
Enum
"thường xuyên"
"incognito_session_only"
SoundContentSetting
Enum
"cho phép"
"chặn"
Thuộc tính
automaticDownloads
Cho phép các trang web tự động tải xuống nhiều tệp hay không. Một trong các lựa chọn sau đây: allow: Cho phép các trang web tự động tải nhiều tệp xuống, block: Không cho phép các trang web tự động tải nhiều tệp xuống, ask: Hỏi khi một trang web muốn tự động tải tệp xuống sau tệp đầu tiên.
Giá trị mặc định là ask.
URL chính là URL của khung cấp cao nhất. URL phụ không được sử dụng.
autoVerify
Cho phép các trang web sử dụng Private State Tokens API hay không. Một trong các lựa chọn sau: allow: Cho phép các trang web sử dụng Private State Tokens API, block: Chặn các trang web sử dụng Private State Tokens API.
Giá trị mặc định là allow.
Khi gọi set(), mẫu URL chính phải là <all_urls>. URL phụ không được sử dụng.
camera
Cho phép các trang web truy cập vào camera hay không. Một trong các lựa chọn sau đây: allow: Cho phép các trang web truy cập vào camera, block: Không cho phép các trang web truy cập vào camera, ask: Hỏi khi một trang web muốn truy cập vào camera.
Giá trị mặc định là ask.
URL chính là URL của tài liệu đã yêu cầu quyền truy cập vào camera. URL phụ không được sử dụng.
LƯU Ý: Chế độ cài đặt "allow" (cho phép) không hợp lệ nếu cả hai mẫu đều là "<all_urls>".
clipboard
Cho phép trang web truy cập vào bảng nhớ tạm thông qua các chức năng nâng cao của Async Clipboard API hay không. Các chức năng "Nâng cao" bao gồm mọi chức năng ngoài việc ghi các định dạng tích hợp sau một cử chỉ của người dùng, tức là khả năng đọc, khả năng ghi các định dạng tuỳ chỉnh và khả năng ghi mà không cần cử chỉ của người dùng. Một trong các lựa chọn sau allow: Cho phép các trang web sử dụng các chức năng nâng cao của bảng nhớ tạm, block: Không cho phép các trang web sử dụng các chức năng nâng cao của bảng nhớ tạm, ask: Hỏi khi một trang web muốn sử dụng các chức năng nâng cao của bảng nhớ tạm.
Giá trị mặc định là ask.
URL chính là URL của tài liệu đã yêu cầu quyền truy cập vào bảng nhớ tạm. URL phụ không được sử dụng.
cookies
Cho phép các trang web đặt cookie và dữ liệu cục bộ khác hay không. Một trong các lựa chọn sau: allow: Chấp nhận cookie, block: Chặn cookie, session\_only: Chỉ chấp nhận cookie cho phiên hiện tại.
Giá trị mặc định là allow.
URL chính là URL đại diện cho nguồn gốc của cookie. URL phụ là URL của khung cấp cao nhất.
fullscreen
Không dùng nữa. Không còn có hiệu lực. Giờ đây, quyền truy cập toàn màn hình sẽ được tự động cấp cho mọi trang web. Giá trị luôn là allow.
images
Có hiển thị hình ảnh hay không. Một trong các lựa chọn sau
allow: Hiện hình ảnh, block: Không hiện hình ảnh.
Giá trị mặc định là allow.
URL chính là URL của khung cấp cao nhất. URL phụ là URL của hình ảnh.
javascript
Có chạy JavaScript hay không. Một trong số allow: Chạy JavaScript, block: Không chạy JavaScript.
Giá trị mặc định là allow.
URL chính là URL của khung cấp cao nhất. URL phụ không được sử dụng.
location
Có cho phép Định vị địa lý hay không. Một trong các lựa chọn sau: allow: Cho phép các trang web theo dõi vị trí thực của bạn, block: Không cho phép các trang web theo dõi vị trí thực của bạn, ask: Hỏi trước khi cho phép các trang web theo dõi vị trí thực của bạn.
Giá trị mặc định là ask.
URL chính là URL của tài liệu đã yêu cầu dữ liệu vị trí. URL phụ là URL của khung cấp cao nhất (có thể khác hoặc không khác với URL yêu cầu).
microphone
Cho phép trang web truy cập vào micrô hay không. Một trong các lựa chọn sau: allow: Cho phép các trang web truy cập vào micrô, block: Không cho phép các trang web truy cập vào micrô, ask: Hỏi khi một trang web muốn truy cập vào micrô.
Giá trị mặc định là ask.
URL chính là URL của tài liệu đã yêu cầu quyền truy cập micrô. URL phụ không được sử dụng.
LƯU Ý: Chế độ cài đặt "allow" (cho phép) không hợp lệ nếu cả hai mẫu đều là "<all_urls>".
mouselock
Không dùng nữa. Không còn có hiệu lực. Giờ đây, quyền khoá chuột sẽ được tự động cấp cho mọi trang web. Giá trị luôn là allow.
notifications
Cho phép các trang web hiển thị thông báo trên màn hình hay không. Một trong các lựa chọn sau: allow: Cho phép các trang web hiển thị thông báo trên máy tính, block: Không cho phép các trang web hiển thị thông báo trên máy tính, ask: Hỏi khi một trang web muốn hiển thị thông báo trên máy tính.
Giá trị mặc định là ask.
URL chính là URL của tài liệu muốn hiển thị thông báo. URL phụ không được sử dụng.
plugins
Không dùng nữa. Vì Chrome 88 không còn hỗ trợ Flash, nên quyền này không còn có hiệu lực nữa. Giá trị luôn là block. Các lệnh gọi đến set() và clear() sẽ bị bỏ qua.
popups
Cho phép hoặc không cho phép các trang web hiển thị cửa sổ bật lên. Một trong các lựa chọn sau: allow: Cho phép các trang web hiển thị cửa sổ bật lên, block: Không cho phép các trang web hiển thị cửa sổ bật lên.
Giá trị mặc định là block.
URL chính là URL của khung cấp cao nhất. URL phụ không được sử dụng.
unsandboxedPlugins
Không dùng nữa. Trước đây, chính sách này kiểm soát việc có cho phép các trang web chạy trình bổ trợ chưa được cách ly hay không. Tuy nhiên, do quy trình trung gian Flash đã bị xoá trong Chrome 88, nên quyền này không còn có hiệu lực nữa. Giá trị luôn là block. Các lệnh gọi đến set() và clear() sẽ bị bỏ qua.