Mô tả
Dùng API chrome.privacy
để kiểm soát việc sử dụng các tính năng trong Chrome có thể ảnh hưởng đến quyền riêng tư của người dùng. API này dựa vào nguyên mẫu Cài đặt Chrome của loại API để nhận và đặt cấu hình của Chrome.
Quyền
privacy
Tệp kê khai
Bạn phải khai báo "quyền riêng tư" quyền trong tệp kê khai của tiện ích để sử dụng API. Ví dụ:
{
"name": "My extension",
...
"permissions": [
"privacy"
],
...
}
Cách sử dụng
Việc đọc giá trị hiện tại của chế độ cài đặt Chrome rất đơn giản. Trước tiên, bạn cần tìm
thuộc tính mà bạn quan tâm, sau đó bạn sẽ gọi get()
trên đối tượng đó để truy xuất thuộc tính
giá trị hiện tại và mức độ kiểm soát của tiện ích. Ví dụ: để xác định xem tính năng Tự động điền của Chrome có
đã bật, bạn sẽ viết:
chrome.privacy.services.autofillEnabled.get({}, function(details) {
if (details.value) {
console.log('Autofill is on!');
} else {
console.log('Autofill is off!');
}
});
Việc thay đổi giá trị của một chế độ cài đặt sẽ phức tạp hơn một chút, đơn giản vì trước tiên bạn phải xác minh
tiện ích của bạn có thể kiểm soát cài đặt đó. Người dùng sẽ không thấy bất kỳ thay đổi nào đối với cài đặt của họ nếu
tiện ích bật/tắt một chế độ cài đặt bị khoá thành một giá trị cụ thể theo chính sách doanh nghiệp
(levelOfControl
sẽ được đặt thành "not_controllable") hoặc nếu một tiện ích khác đang kiểm soát
(levelOfControl
sẽ được đặt thành "control_by_other_extensions"). Cuộc gọi set()
sẽ
thành công, nhưng cài đặt sẽ bị ghi đè ngay lập tức. Bạn nên sử dụng thông tin này vì có thể gây nhầm lẫn
để cảnh báo người dùng khi các chế độ cài đặt họ đã chọn không được áp dụng trong thực tế.
Điều này có nghĩa là bạn phải sử dụng phương thức get()
để xác định cấp truy cập của mình và sau đó chỉ
gọi set()
nếu tiện ích của bạn có thể nắm quyền kiểm soát cài đặt (trên thực tế nếu tiện ích của bạn không thể
kiểm soát cài đặt, bạn nên tắt chức năng này để giảm
nhầm lẫn):
chrome.privacy.services.autofillEnabled.get({}, function(details) {
if (details.levelOfControl === 'controllable_by_this_extension') {
chrome.privacy.services.autofillEnabled.set({ value: true }, function() {
if (chrome.runtime.lastError === undefined) {
console.log("Hooray, it worked!");
} else {
console.log("Sadness!", chrome.runtime.lastError);
}
});
}
});
Nếu bạn muốn thay đổi giá trị của một chế độ cài đặt, hãy thêm một trình nghe vào sự kiện onChange
. Trong số
cho các mục đích sử dụng khác, điều này cho phép bạn cảnh báo người dùng nếu một tiện ích mới được cài đặt gần đây sử dụng được
quyền kiểm soát của một chế độ cài đặt hoặc liệu chính sách doanh nghiệp có ghi đè chế độ kiểm soát của bạn hay không. Để theo dõi những thay đổi đối với
Trạng thái của tính năng Tự động điền, ví dụ như mã sau đây là đủ:
chrome.privacy.services.autofillEnabled.onChange.addListener(
function (details) {
// The new value is stored in `details.value`, the new level of control
// in `details.levelOfControl`, and `details.incognitoSpecific` will be
// `true` if the value is specific to Incognito mode.
}
);
Ví dụ
Để dùng thử API này, hãy cài đặt ví dụ về API quyền riêng tư trong chrome-extension-samples kho lưu trữ.
Loại
IPHandlingPolicy
Chính sách xử lý IP của WebRTC.
Enum
"default"
"default_public_and_private_interfaces"
"default_public_interface_only"
"disable_non_proxied_udp"
Thuộc tính
network
Các cài đặt ảnh hưởng đến cách Chrome xử lý kết nối mạng nói chung.
Loại
đối tượng
Thuộc tính
-
networkPredictionEnabled
types.ChromeSetting<boolean>
Nếu được bật, Chrome sẽ cố gắng tăng tốc trải nghiệm duyệt web của bạn bằng cách phân giải trước các mục nhập DNS và mở trước kết nối TCP và SSL tới máy chủ. Tuỳ chọn này chỉ ảnh hưởng đến các thao tác do dịch vụ dự đoán nội bộ của Chrome thực hiện. Quá trình này không ảnh hưởng đến các lượt tinh chỉnh hoặc kết nối trước do trang web khởi tạo. Giá trị của lựa chọn ưu tiên này là một boolean, mặc định là
true
. -
webRTCIPHandlingPolicyChrome 48 trở lên
Cho phép người dùng chỉ định hiệu suất nội dung nghe nhìn/sự đánh đổi về quyền riêng tư ảnh hưởng đến cách định tuyến lưu lượng truy cập WebRTC và lượng thông tin địa chỉ trên thiết bị bị tiết lộ. Giá trị của lựa chọn ưu tiên này thuộc loại IPhandlingPolicy, mặc định là
default
.
services
Chế độ cài đặt bật hoặc tắt những tính năng yêu cầu dịch vụ mạng của bên thứ ba do Google và nhà cung cấp dịch vụ tìm kiếm mặc định của bạn cung cấp.
Loại
đối tượng
Thuộc tính
-
alternateErrorPagesEnabled
types.ChromeSetting<boolean>
Nếu bạn bật chế độ này, Chrome sẽ dùng một dịch vụ web để giúp giải quyết lỗi điều hướng. Giá trị của lựa chọn ưu tiên này là một boolean, mặc định là
true
. -
autofillAddressEnabled
types.ChromeSetting<boolean>
Chrome 70 trở lênNếu bạn bật chế độ này, Chrome sẽ đề xuất tự động điền địa chỉ và các dữ liệu khác vào biểu mẫu. Giá trị của lựa chọn ưu tiên này là một boolean, mặc định là
true
. -
autofillCreditCardEnabled
types.ChromeSetting<boolean>
Chrome 70 trở lênNếu bạn bật tính năng này, Chrome sẽ đề xuất tự động điền vào biểu mẫu thẻ tín dụng. Giá trị của lựa chọn ưu tiên này là một boolean, mặc định là
true
. -
autofillEnabled
types.ChromeSetting<boolean>
Không dùng nữa kể từ Chrome 70Vui lòng sử dụng privacy.services.autofillAddressEnabled và privacy.services.autofillCreditCardEnabled. Trong bản phát hành này, mã này vẫn được giữ nguyên để đảm bảo khả năng tương thích ngược và sẽ bị xoá trong tương lai.
Nếu bạn bật tính năng này, Chrome sẽ đề xuất tự động điền biểu mẫu. Giá trị của lựa chọn ưu tiên này là một boolean, mặc định là
true
. -
passwordSavingEnabled
types.ChromeSetting<boolean>
Nếu bạn bật chế độ này, trình quản lý mật khẩu sẽ hỏi xem bạn có muốn lưu mật khẩu không. Giá trị của lựa chọn ưu tiên này là một boolean, mặc định là
true
. -
safeBrowsingEnabled
types.ChromeSetting<boolean>
Nếu bạn bật chế độ này, Chrome sẽ cố gắng hết sức để bảo vệ bạn khỏi hành vi lừa đảo và phần mềm độc hại. Giá trị của lựa chọn ưu tiên này là một boolean, mặc định là
true
. -
safeBrowsingExtendedReportingEnabled
types.ChromeSetting<boolean>
Nếu bạn bật chế độ này, Chrome sẽ gửi thêm thông tin cho Google khi tính năng Duyệt web an toàn chặn một trang, chẳng hạn như nội dung của trang bị chặn. Giá trị của lựa chọn ưu tiên này là một boolean, mặc định là
false
. -
searchSuggestEnabled
types.ChromeSetting<boolean>
Nếu được bật, Chrome sẽ gửi văn bản bạn nhập vào Thanh địa chỉ tới công cụ tìm kiếm mặc định của bạn, công cụ này cung cấp dự đoán các trang web và tìm kiếm có thể hoàn thành những gì bạn đã nhập. Giá trị của lựa chọn ưu tiên này là một boolean, mặc định là
true
. -
spellingServiceEnabled
types.ChromeSetting<boolean>
Nếu được bật, Chrome sẽ sử dụng dịch vụ web để giúp sửa lỗi chính tả. Giá trị của lựa chọn ưu tiên này là một boolean, mặc định là
false
. -
translationServiceEnabled
types.ChromeSetting<boolean>
Nếu bạn bật chế độ này thì Chrome sẽ đề xuất dịch các trang không phải bằng ngôn ngữ bạn đã đọc. Giá trị của lựa chọn ưu tiên này là một boolean, mặc định là
true
.
websites
Chế độ cài đặt xác định thông tin mà Chrome cung cấp cho các trang web.
Loại
đối tượng
Thuộc tính
-
adMeasurementEnabled
types.ChromeSetting<boolean>
Chrome 111 trở lênNếu bạn tắt chính sách này, Attribution Reporting API và API tổng hợp riêng tư sẽ bị huỷ kích hoạt. Giá trị của lựa chọn ưu tiên này thuộc kiểu boolean và giá trị mặc định là
true
. Các tiện ích chỉ có thể tắt các API này bằng cách đặt giá trị thànhfalse
. Nếu bạn thử đặt các API này thànhtrue
thì sẽ báo lỗi. -
doNotTrackEnabled
types.ChromeSetting<boolean>
Chrome 65 trở lênNếu bạn bật chế độ này, Chrome sẽ gửi thông báo "Không theo dõi" (
DNT: 1
) với yêu cầu của bạn. Giá trị của lựa chọn ưu tiên này thuộc kiểu boolean và giá trị mặc định làfalse
. -
fledgeEnabled
types.ChromeSetting<boolean>
Chrome 111 trở lênNếu tắt, Fledge API sẽ bị huỷ kích hoạt. Giá trị của lựa chọn ưu tiên này thuộc kiểu boolean và giá trị mặc định là
true
. Các tiện ích chỉ có thể tắt API này bằng cách đặt giá trị thànhfalse
. Nếu bạn thử đặt API này thànhtrue
thì một thông báo lỗi sẽ xuất hiện. -
hyperlinkAuditingEnabled
types.ChromeSetting<boolean>
Nếu bạn bật chế độ này, Chrome sẽ gửi các ping kiểm tra khi được trang web yêu cầu (
<a ping>
). Giá trị của lựa chọn ưu tiên này thuộc loại boolean và giá trị mặc định làtrue
. -
protectedContentEnabled
types.ChromeSetting<boolean>
Chỉ có trên Windows và ChromeOS: Nếu được bật, Chrome sẽ cung cấp một mã nhận dạng duy nhất cho các trình bổ trợ để chạy nội dung được bảo vệ. Giá trị của lựa chọn ưu tiên này thuộc kiểu boolean và giá trị mặc định là
true
. -
referrersEnabled
types.ChromeSetting<boolean>
Nếu bạn bật chế độ này, Chrome sẽ gửi tiêu đề
referer
kèm theo yêu cầu của bạn. Có, tên của lựa chọn ưu tiên này không khớp với tiêu đề bị viết sai chính tả. Không, chúng tôi sẽ không thay đổi điều đó. Giá trị của lựa chọn ưu tiên này thuộc kiểu boolean và giá trị mặc định làtrue
. -
types.ChromeSetting<boolean>
Chrome 121 trở lênNếu bạn tắt tuỳ chọn này, Nhóm trang web có liên quan sẽ bị huỷ kích hoạt. Giá trị của lựa chọn ưu tiên này thuộc kiểu boolean và giá trị mặc định là
true
. Các tiện ích chỉ có thể tắt API này bằng cách đặt giá trị thànhfalse
. Nếu bạn thử đặt API này thànhtrue
thì một thông báo lỗi sẽ xuất hiện. -
thirdPartyCookiesAllowed
types.ChromeSetting<boolean>
Nếu bạn tắt chính sách này, Chrome sẽ chặn các trang web của bên thứ ba đặt cookie. Giá trị của lựa chọn ưu tiên này thuộc kiểu boolean và giá trị mặc định là
true
. -
topicsEnabled
types.ChromeSetting<boolean>
Chrome 111 trở lênNếu bạn tắt, Topics API sẽ bị huỷ kích hoạt. Giá trị của lựa chọn ưu tiên này thuộc kiểu boolean và giá trị mặc định là
true
. Các tiện ích chỉ có thể tắt API này bằng cách đặt giá trị thànhfalse
. Nếu bạn thử đặt API này thànhtrue
thì một thông báo lỗi sẽ xuất hiện.