chrome.privacy

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

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"
  ],
  ...
}

Khái niệm và 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 thẻ tín dụng của Chrome hay không đã bật, 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 sẽ phức tạp hơn một chút, 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 tính năng này để giảm nhầm lẫn):

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 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 tự động điền thẻ tín dụng, ví dụ: mã sau đây sẽ đủ:

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ư trong chrome-extension-samples kho lưu trữ.

Loại

IPHandlingPolicy

Chrome 48 trở lên

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.

  • webRTCIPHandlingPolicy
    Chrome 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ên

    Nế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ên

    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 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 70

    Vui 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ên

    Nếu bạn tắt chính sách này, Attribution Reporting APIAPI 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ành false. Nếu bạn thử đặt các API này thành true thì sẽ báo lỗi.

  • doNotTrackEnabled

    types.ChromeSetting<boolean>

    Chrome 65 trở lên

    Nế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ên

    Nế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ành false. Nếu bạn thử đặt API này thành true 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&lt;boolean&gt;

    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&lt;boolean&gt;

    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.

  • relatedWebsiteSetsEnabled

    types.ChromeSetting&lt;boolean&gt;

    Chrome 121 trở lên

    Nế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ành false. Nếu bạn thử đặt API này thành true thì một thông báo lỗi sẽ xuất hiện.

  • thirdPartyCookiesAllowed

    types.ChromeSetting&lt;boolean&gt;

    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&lt;boolean&gt;

    Chrome 111 trở lên

    Nế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ành false. Nếu bạn thử đặt API này thành true thì một thông báo lỗi sẽ xuất hiện.