Nội dung mô tả
Dùng API chrome.privacy
để kiểm soát việc sử dụng những 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 trên 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 "quyền riêng tư" 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 một 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 giá trị hiện tại của thuộc tính 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 đã bật hay chưa, bạn cần ghi:
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 phức tạp hơn một chút, đơn giản là vì trước tiên bạn phải xác minh rằng tiện ích của bạn có thể kiểm soát chế độ cài đặt đó. Người dùng sẽ không thấy bất kỳ thay đổi nào đối với chế độ cài đặt của họ nếu tiện ích của bạn bật/tắt một chế độ cài đặt bị chính sách doanh nghiệp khoá với một giá trị cụ thể (levelOfControl
sẽ được đặt thành "not_controllable") hoặc nếu một tiện ích khác đang kiểm soát giá trị đó (levelOfControl
sẽ được đặt thành "controlled_by_other_extensions"). Lệnh gọi set()
sẽ thành công nhưng chế độ cài đặt sẽ bị ghi đè ngay lập tức. Vì điều này có thể gây nhầm lẫn, bạn nên cảnh báo người dùng khi chế độ cài đặt họ đã chọn không được áp dụng thực tế.
Điều này có nghĩa là bạn nên sử dụng phương thức get()
để xác định mức độ truy cập, sau đó chỉ gọi set()
nếu tiện ích của bạn có thể giành quyền kiểm soát chế độ cài đặt (trên thực tế, nếu tiện ích của bạn không thể kiểm soát chế độ cài đặt, thì bạn nên tắt theo cách trực quan chức năng để giảm sự bối rối cho người dùng):
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 trình nghe vào sự kiện onChange
của chế độ cài đặt đó. Ngoài các trường hợp khác, tuỳ chọn này cho phép bạn cảnh báo người dùng nếu một tiện ích được cài đặt gần đây hơn giành quyền kiểm soát một chế độ cài đặt, hoặc nếu chính sách doanh nghiệp ghi đè quyền kiểm soát của bạn. Ví dụ: để theo dõi các thay đổi đối với trạng thái của tính năng Tự động điền, bạn có thể sử dụng mã sau đây:
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 về quyền riêng tư trong kho lưu trữ chrome-extension-samples.
Loại
IPHandlingPolicy
Chính sách xử lý IP của WebRTC.
Liệt kê
"default_public_and_private_interfaces"
"default_public_interface_only"
"disable_non_proxied_udp"
Thuộc tính
network
Các chế độ 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 chế độ này đượ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à giành quyền mở trước các kết nối TCP và SSL tới máy chủ. Lựa chọn ưu tiên này chỉ ảnh hưởng đến những thao tác do dịch vụ dự đoán nội bộ của Chrome thực hiện. Tính năng này không ảnh hưởng đến các trang web được tạo trước hoặc kết nối trước. Giá trị của tuỳ chọ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 các yếu tố đánh đổi về quyền riêng tư/hiệu suất của nội dung đa phương tiện, ảnh hưởng đến cách định tuyến lưu lượng truy cập WebRTC và mức độ tiết lộ thông tin địa chỉ cục bộ. Giá trị của lựa chọn ưu tiên này thuộc loại IPprocessingPolicy, có giá trị 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 chế độ này được bật, Chrome sẽ 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 tuỳ chọ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 tính năng này, Chrome sẽ đề xuất tự động điền địa chỉ và các dữ liệu biểu mẫu khác. Giá trị của tuỳ chọ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 tuỳ chọ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. Yếu tố này vẫn giữ nguyên khả năng tương thích ngược trong bản phát hành này 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 vào biểu mẫu. Giá trị của tuỳ chọn này là một boolean, mặc định là
true
. -
passwordSavingEnabled
types.ChromeSetting<boolean>
Nếu bạn bật tính năng 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 tuỳ chọn này là một boolean, mặc định là
true
. -
safeBrowsingEnabled
types.ChromeSetting<boolean>
Nếu được bật, 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 tuỳ chọn này là một boolean, mặc định là
true
. -
safeBrowsingExtendedReportingEnabled
types.ChromeSetting<boolean>
Nếu được bật, Chrome sẽ gửi thông tin bổ sung 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 tuỳ chọ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ỉ đến công cụ tìm kiếm mặc định của bạn để đưa ra dự đoán về các trang web và tìm kiếm có thể hoàn thành nội dung bạn đã nhập. Giá trị của tuỳ chọn này là một boolean, mặc định là
true
. -
spellingServiceEnabled
types.ChromeSetting<boolean>
Nếu bạn bật tính năng này, Chrome sẽ sử dụng một dịch vụ web để giúp sửa lỗi chính tả. Giá trị của tuỳ chọn này là một boolean, mặc định là
false
. -
translationServiceEnabled
types.ChromeSetting<boolean>
Nếu bạn bật tính năng này, 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 tuỳ chọ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 tính năng này, thì 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 là kiểu boolean và giá trị mặc định là
true
. 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ẽ xảy ra lỗi. -
doNotTrackEnabled
types.ChromeSetting<boolean>
Chrome 65 trở lênNếu được bật, Chrome sẽ gửi tiêu đề "Không theo dõi" (
DNT: 1
) cùng với yêu cầu của bạn. Giá trị của lựa chọn ưu tiên này là kiểu boolean và giá trị mặc định làfalse
. -
fledgeEnabled
types.ChromeSetting<boolean>
Chrome 111 trở lênNếu bị tắt, Fledge API sẽ bị huỷ kích hoạt. Giá trị của lựa chọn ưu tiên này là 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ì sẽ xảy ra lỗi. -
hyperlinkAuditingEnabled
types.ChromeSetting<boolean>
Nếu bạn bật chính sách này, Chrome sẽ gửi các ping kiểm tra khi trang web (
<a ping>
) yêu cầu. Giá trị của tùy chọn này là boolean loại 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 là kiểu boolean và giá trị mặc định là
true
. -
referrersEnabled
types.ChromeSetting<boolean>
Nếu được bật, Chrome sẽ gửi yêu cầu của bạn đối với các tiêu đề
referer
. Có, tên của tuỳ chọn này không khớp với tiêu đề bị 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 là kiểu boolean và giá trị mặc định làtrue
. -
types.ChromeSetting<boolean>
Chrome 121 trở lênNếu bị tắt, Bộ 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 là 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ì sẽ xảy ra lỗi. -
thirdPartyCookiesAllowed
types.ChromeSetting<boolean>
Nếu bạn tắt tuỳ chọn này, Chrome sẽ chặn các trang web bên thứ ba đặt cookie. Giá trị của lựa chọn ưu tiên này là kiểu boolean và giá trị mặc định là
true
. -
topicsEnabled
types.ChromeSetting<boolean>
Chrome 111 trở lênNếu tắt tính năng này, Topics API sẽ bị vô hiệu hoá. Giá trị của lựa chọn ưu tiên này là 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ì sẽ xảy ra lỗi.