Mô tả
API chrome.types
chứa các khai báo kiểu cho Chrome.
Cài đặt Chrome
Loại ChromeSetting
cung cấp một bộ hàm chung (get()
, set()
và clear()
) cũng như một trình phát sự kiện (onChange
) cho các chế độ cài đặt của trình duyệt Chrome. Ví dụ về chế độ cài đặt proxy minh hoạ cách sử dụng các hàm này.
Phạm vi và vòng đời
Chrome phân biệt 3 phạm vi cài đặt trình duyệt:
regular
- Các chế độ cài đặt được đặt trong phạm vi
regular
sẽ áp dụng cho các cửa sổ trình duyệt thông thường và được các cửa sổ ẩn danh kế thừa nếu không bị ghi đè. Các chế độ cài đặt này được lưu trữ vào ổ đĩa và vẫn được giữ nguyên cho đến khi tiện ích chi phối xoá chúng hoặc tiện ích chi phối bị tắt hoặc gỡ cài đặt. incognito_persistent
- Các chế độ cài đặt được thiết lập trong phạm vi
incognito_persistent
chỉ áp dụng cho các cửa sổ ẩn danh. Đối với những chế độ cài đặt này, chúng sẽ ghi đè chế độ cài đặtregular
. Các chế độ cài đặt này được lưu trữ vào đĩa và vẫn giữ nguyên cho đến khi tiện ích chi phối xoá chúng hoặc tiện ích chi phối bị tắt hoặc gỡ cài đặt. incognito_session_only
- Các chế độ cài đặt được thiết lập trong phạm vi
incognito_session_only
chỉ áp dụng cho các cửa sổ ẩn danh. Đối với những chế độ cài đặt này, chúng sẽ ghi đè chế độ cài đặtregular
vàincognito_persistent
. Các chế độ cài đặt này không được lưu trữ trên ổ đĩa và sẽ bị xoá khi cửa sổ ẩn danh cuối cùng đóng. Bạn chỉ có thể đặt các chế độ này khi có ít nhất một cửa sổ ẩn danh đang mở.
Quyền ưu tiên
Chrome quản lý các chế độ cài đặt trên nhiều lớp. Danh sách sau đây mô tả các lớp có thể ảnh hưởng đến chế độ cài đặt hiệu quả, theo thứ tự tăng dần về mức độ ưu tiên.
- Chế độ cài đặt hệ thống do hệ điều hành cung cấp
- Tham số dòng lệnh
- Các chế độ cài đặt do tiện ích cung cấp
- Chính sách
Như danh sách này cho thấy, các chính sách có thể thay thế mọi thay đổi mà bạn chỉ định bằng tiện ích. Bạn có thể dùng hàm get()
để xác định xem tiện ích của bạn có thể cung cấp một chế độ cài đặt hay không hoặc liệu chế độ cài đặt này có bị ghi đè hay không.
Như đã thảo luận trước đó, Chrome cho phép sử dụng các chế độ cài đặt khác nhau cho cửa sổ thông thường và cửa sổ ẩn danh. Ví dụ sau đây minh hoạ hành vi này. Giả sử không có chính sách nào ghi đè các chế độ cài đặt và một tiện ích có thể đặt chế độ cài đặt cho các cửa sổ thông thường (R) và chế độ cài đặt cho các cửa sổ ẩn danh (I).
- Nếu bạn chỉ đặt (R), thì các chế độ cài đặt này sẽ có hiệu lực đối với cả cửa sổ thông thường và cửa sổ ẩn danh.
- Nếu bạn chỉ đặt (I), thì các chế độ cài đặt này chỉ có hiệu lực đối với các cửa sổ ẩn danh. Các cửa sổ thông thường sử dụng chế độ cài đặt do các lớp dưới xác định (tuỳ chọn dòng lệnh và chế độ cài đặt hệ thống).
- Nếu bạn đặt cả (R) và (I), thì các chế độ cài đặt tương ứng sẽ được dùng cho cửa sổ thông thường và cửa sổ ẩn danh.
Nếu hai hoặc nhiều tiện ích muốn đặt cùng một chế độ cài đặt thành các giá trị khác nhau, thì tiện ích được cài đặt gần đây nhất sẽ được ưu tiên hơn các tiện ích khác. Nếu tiện ích được cài đặt gần đây nhất chỉ đặt (I), thì các tiện ích đã cài đặt trước đó có thể xác định chế độ cài đặt của các cửa sổ thông thường.
Giá trị hiệu quả của một chế độ cài đặt là giá trị thu được sau khi xem xét các quy tắc về quyền ưu tiên. Chrome sử dụng công cụ này.
Loại
ChromeSetting
Một giao diện cho phép truy cập vào chế độ cài đặt trình duyệt Chrome. Hãy xem accessibilityFeatures
để biết ví dụ.
Thuộc tính
-
onChange
Event<functionvoidvoid>
Được kích hoạt sau khi chế độ cài đặt thay đổi.
Hàm
onChange.addListener
có dạng như sau:(callback: function) => {...}
-
callback
hàm
Tham số
callback
có dạng như sau:(details: object) => void
-
chi tiết
đối tượng
-
incognitoSpecific
boolean không bắt buộc
Liệu giá trị đã thay đổi có dành riêng cho phiên ẩn danh hay không. Thuộc tính này chỉ xuất hiện nếu người dùng đã bật tiện ích ở chế độ ẩn danh.
-
levelOfControl
Mức độ kiểm soát của chế độ cài đặt.
-
value
T
Giá trị của chế độ cài đặt sau khi thay đổi.
-
-
-
-
xóa
void
Xoá chế độ cài đặt, khôi phục mọi giá trị mặc định.
Hàm
clear
có dạng như sau:(details: object) => {...}
-
chi tiết
đối tượng
Chế độ cài đặt cần xoá.
-
phạm vi
ChromeSettingScope không bắt buộc
Nơi xoá chế độ cài đặt (mặc định: thông thường).
-
-
returns
Promise<void>
Chrome 96 trở lên
-
-
get
void
Lấy giá trị của một chế độ cài đặt.
Hàm
get
có dạng như sau:(details: object) => {...}
-
chi tiết
đối tượng
Chế độ cài đặt cần cân nhắc.
-
ẩn danh
boolean không bắt buộc
Có trả về giá trị áp dụng cho phiên ẩn danh hay không (mặc định là false).
-
-
returns
Promise<object>
Chrome 96 trở lên
-
-
đặt
void
Đặt giá trị của một chế độ cài đặt.
Hàm
set
có dạng như sau:(details: object) => {...}
-
chi tiết
đối tượng
Chế độ cài đặt cần thay đổi.
-
phạm vi
ChromeSettingScope không bắt buộc
Nơi đặt chế độ cài đặt (mặc định: regular).
-
value
T
Giá trị của chế độ cài đặt. Xin lưu ý rằng mỗi chế độ cài đặt đều có một loại giá trị cụ thể, được mô tả cùng với chế độ cài đặt. Tiện ích không được đặt giá trị thuộc một loại khác.
-
-
returns
Promise<void>
Chrome 96 trở lên
-
ChromeSettingScope
Phạm vi của ChromeSetting. Một trong
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),regular\_only
: chỉ áp dụng cho hồ sơ thông thường (hồ sơ ẩn danh không kế thừa chế độ cài đặt này),incognito\_persistent
: chế độ cài đặt cho hồ sơ ẩn danh vẫn tồn tại sau khi trình duyệt khởi động lại (ghi đè các lựa chọn ưu tiên thông thường),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 lựa chọn ưu tiên thông thường và incognito_persistent).
Enum
"regular"
"regular_only"
"incognito_persistent"
"incognito_session_only"
LevelOfControl
Một trong
not\_controllable
: không thể được kiểm soát bởi bất kỳ tiện ích nàocontrolled\_by\_other\_extensions
: do các tiện ích có mức độ ưu tiên cao hơn kiểm soátcontrollable\_by\_this\_extension
: có thể được tiện ích này kiểm soátcontrolled\_by\_this\_extension
: do tiện ích này kiểm soát
Enum
"not_controllable"
"controlled_by_other_extensions"
"controllable_by_this_extension"
"controlled_by_this_extension"