chrome.privacy

Mô tả

Sử 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 ChromeSetting của API loại để nhận và thiết lập cấu hình của Chrome.

Quyền

privacy

Bạn phải khai báo quyền "privacy" trong tệp kê khai của tiện ích để sử dụng API này. Ví dụ:

{
  "name": "My extension",
  ...
  "permissions": [
    "privacy"
  ],
  ...
}

Ý tưởng và cách sử dụng

Việc đọc giá trị hiện tại của một chế độ cài đặt trong 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 đó gọi get() trên đối tượng đó để truy xuất 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 thẻ tín dụng của Chrome có được bật hay không, bạn sẽ viết:

chrome.privacy.services.autofillCreditCardEnabled.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, vì trước tiên bạn phải xác minh rằng tiện ích của mình 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 chuyển đổi 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 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, nên bạn nên cảnh báo người dùng khi các chế độ cài đặt mà họ chọn không được áp dụng trên 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 của mình, 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ì có lẽ bạn nên tắt tính năng này một cách trực quan để giảm sự nhầm lẫn cho người dùng):

chrome.privacy.services.autofillCreditCardEnabled.get({}, function(details) {
  if (details.levelOfControl === 'controllable_by_this_extension') {
    chrome.privacy.services.autofillCreditCardEnabled.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 quan tâm đến các thay đổi đối vớ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 mục đích sử dụng khác, điều này sẽ cho phép bạn cảnh báo người dùng nếu một tiện ích mới cài đặt gần đây 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 tự động điền thẻ tín dụng, bạn chỉ cần sử dụng đoạn mã sau:

chrome.privacy.services.autofillCreditCardEnabled.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ư từ kho lưu trữ chrome-extension-samples.

Loại

AutofillBlockedType

Đang chờ xử lý

Danh mục dữ liệu Tự động điền.

Enum

"contact_info"

"payments"

"identity_docs"

"travel"

AutofillSettings

Đang chờ xử lý

Quy tắc chặn dành riêng cho trang web đối với các tính năng Tự động điền.

Loại

object[]

Thuộc tính

  • blockedTypes

    Các danh mục dữ liệu Tự động điền cần chặn trên các trang web phù hợp.

  • urlPattern

    chuỗi

    Mẫu URL chỉ định các trang web mà quy tắc chặn áp dụng.

IPHandlingPolicy

Chrome 48+

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 chế độ cài đặt ảnh hưởng đến cách Chrome xử lý các kết nối mạng nói chung.

Loại

đối tượng

Thuộc tính

  • networkPredictionEnabled

    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 giải quyết trước các mục DNS và chủ động mở các kết nối TCP và SSL đến máy chủ. Lựa chọn ưu tiên này chỉ ảnh hưởng đến các hành động do dịch vụ dự đoán nội bộ của Chrome thực hiện. Lựa chọn ưu tiên này không ảnh hưởng đến các lệnh tìm nạp trước 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 giá trị boolean, mặc định là true.

  • webRTCIPHandlingPolicy
    Chrome 48+

    Cho phép người dùng chỉ định các điểm đánh đổi về hiệu suất/quyền riêng tư của nội dung nghe nhìn, ảnh hưởng đến cách lưu lượng truy cập WebRTC sẽ được định tuyến và mức độ thông tin địa chỉ cục bộ được 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

Các chế độ cài đặt cho phép hoặc tắt các 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

    Nếu được bật, Chrome sẽ sử dụng một dịch vụ web để giúp giải quyết các lỗi điều hướng. Giá trị của lựa chọn ưu tiên này là một giá trị boolean, mặc định là true.

  • autofillAddressEnabled
    Chrome 70+

    Nếu được bật, Chrome sẽ đề xuất tự động điền địa chỉ và các dữ liệu khác trong biểu mẫu. Giá trị của lựa chọn ưu tiên này là một giá trị boolean, mặc định là true.

  • autofillCreditCardEnabled
    Chrome 70+

    Nếu được bật, Chrome sẽ đề xuất tự động điền vào các 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 giá trị boolean, mặc định là true.

  • autofillEnabled
    Không dùng nữa kể từ Chrome 70

    Vui lòng sử dụng privacy.services.autofillAddressEnabled và privacy.services.autofillCreditCardEnabled. Tính năng này vẫn được giữ lại để 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 được bật, Chrome sẽ đề xuất tự động điền vào các biểu mẫu. Giá trị của lựa chọn ưu tiên này là một giá trị boolean, mặc định là true.

  • Đang chờ xử lý

    Nếu được thiết lập, cho phép kiểm soát các tính năng Tự động điền dành riêng cho trang web bằng cách chặn các danh mục dữ liệu cụ thể trên các mẫu URL phù hợp.

  • passwordSavingEnabled

    Nếu được bật, trình quản lý mật khẩu sẽ hỏi xem bạn có muốn lưu mật khẩu hay không. Giá trị của lựa chọn ưu tiên này là một giá trị boolean, mặc định là true.

  • safeBrowsingEnabled

    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 lựa chọn ưu tiên này là một giá trị boolean, mặc định là true.

  • safeBrowsingExtendedReportingEnabled

    Nếu được bật, 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 giá trị boolean, mặc định là false.

  • searchSuggestEnabled

    Nếu được bật, Chrome sẽ gửi văn bản bạn nhập vào Thanh địa chỉ thông minh đến công cụ tìm kiếm mặc định của bạn. Công cụ này sẽ đưa ra các dự đoán về trang web và nội dung tìm kiếm có khả năng hoàn thành những gì bạn đã nhập cho đến nay. Giá trị của lựa chọn ưu tiên này là một giá trị boolean, mặc định là true.

  • spellingServiceEnabled

    Nếu được bật, Chrome sẽ sử dụng một 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 giá trị boolean, mặc định là false.

  • translationServiceEnabled

    Nếu được bật, 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 giá trị boolean, mặc định là true.

websites

Các chế độ cài đặt xác định những thông tin mà Chrome cung cấp cho trang web.

Loại

đối tượng

Thuộc tính

  • adMeasurementEnabled
    Chrome 111+

    Nếu bị tắt, Attribution Reporting APIPrivate Aggregation API sẽ bị vô hiệu hoá. 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. Tiện ích chỉ có thể tắt các API này bằng cách đặt giá trị thành false. Nếu bạn cố gắng đặt các API này thành true, thì hệ thống sẽ gửi ra lỗi.

  • doNotTrackEnabled
    Chrome 65+

    Nếu được bật, Chrome sẽ gửi tiêu đề "Không theo dõi" (DNT: 1) cùng với các yêu cầu của bạn. 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à false.

  • fledgeEnabled
    Chrome 111+

    Nếu bị tắt, Fledge API sẽ bị vô hiệu hoá. 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. Tiện ích chỉ có thể tắt API này bằng cách đặt giá trị thành false. Nếu bạn cố gắng đặt API này thành true, thì hệ thống sẽ gửi ra lỗi.

  • hyperlinkAuditingEnabled

    Nếu được bật, Chrome sẽ gửi các ping kiểm tra khi một 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

    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 loại boolean và giá trị mặc định là true.

  • referrersEnabled

    Nếu được bật, Chrome sẽ gửi tiêu đề referer cùng với các 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ị lỗi chính tả. Không, chúng tôi sẽ không thay đổi. 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.

  • relatedWebsiteSetsEnabled
    Chrome 121+

    Nếu bị tắt, Nhóm trang web có liên quan sẽ bị vô hiệu hoá. 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. Tiện ích chỉ có thể tắt API này bằng cách đặt giá trị thành false. Nếu bạn cố gắng đặt API này thành true, thì hệ thống sẽ gửi ra lỗi.

  • thirdPartyCookiesAllowed

    Nếu bị tắt, 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 loại boolean và giá trị mặc định là true. Tiện ích không thể bật API này ở chế độ ẩn danh. Ở chế độ ẩn danh, cookie của bên thứ ba sẽ bị chặn và bạn chỉ có thể cho phép ở cấp trang web. Nếu bạn cố gắng đặt API này thành true ở chế độ ẩn danh, thì hệ thống sẽ gửi ra lỗi.

    Lưu ý: Các trang web riêng lẻ vẫn có thể truy cập vào cookie của bên thứ ba khi API này trả về false, nếu các trang web đó có một trường hợp miễn trừ hợp lệ hoặc sử dụng Storage Access API.

  • topicsEnabled
    Chrome 111+

    Nếu bị tắt, Topics API sẽ bị vô hiệu hoá. 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. Tiện ích chỉ có thể tắt API này bằng cách đặt giá trị thành false. Nếu bạn cố gắng đặt API này thành true, thì hệ thống sẽ gửi ra lỗi.