browser.browsingData

Mô tả

Sử dụng API chrome.browsingData để xoá dữ liệu duyệt web khỏi hồ sơ cục bộ của người dùng.

Quyền

browsingData

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

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

Khái niệm và cách sử dụng

Trường hợp sử dụng đơn giản nhất cho API này là cơ chế dựa trên thời gian để xoá dữ liệu duyệt web của người dùng. Mã của bạn phải cung cấp dấu thời gian cho biết ngày trước đó mà dữ liệu duyệt web của người dùng sẽ bị xoá. Dấu thời gian này được định dạng dưới dạng số mili giây kể từ thời gian Unix (có thể được truy xuất từ đối tượng Date JavaScript bằng phương thức getTime()).

Ví dụ: để xoá tất cả dữ liệu duyệt web của người dùng trong tuần trước, bạn có thể viết mã như sau:

var callback = function () {
  // Do something clever here once data has been removed.
};

var millisecondsPerWeek = 1000 * 60 * 60 * 24 * 7;
var oneWeekAgo = (new Date()).getTime() - millisecondsPerWeek;
browser.browsingData.remove({
  "since": oneWeekAgo
}, {
  "appcache": true,
  "cache": true,
  "cacheStorage": true,
  "cookies": true,
  "downloads": true,
  "fileSystems": true,
  "formData": true,
  "history": true,
  "indexedDB": true,
  "localStorage": true,
  "passwords": true,
  "serviceWorkers": true,
  "webSQL": true
}, callback);

Phương thức browser.browsingData.remove() cho phép bạn xoá nhiều loại dữ liệu duyệt web bằng một lệnh gọi duy nhất và sẽ nhanh hơn nhiều so với việc gọi nhiều phương thức cụ thể hơn. Tuy nhiên, nếu bạn chỉ muốn xoá một loại dữ liệu duyệt web cụ thể (ví dụ: cookie), thì các phương thức chi tiết hơn sẽ cung cấp một giải pháp thay thế dễ đọc cho một lệnh gọi chứa đầy JSON.

var callback = function () {
  // Do something clever here once data has been removed.
};

var millisecondsPerWeek = 1000 * 60 * 60 * 24 * 7;
var oneWeekAgo = (new Date()).getTime() - millisecondsPerWeek;
browser.browsingData.removeCookies({
  "since": oneWeekAgo
}, callback);

Nếu người dùng đang đồng bộ hoá dữ liệu, browser.browsingData.remove() có thể tự động tạo lại cookie cho tài khoản Đồng bộ hoá sau khi xoá cookie. Điều này nhằm đảm bảo rằng tính năng Đồng bộ hoá có thể tiếp tục hoạt động để cuối cùng dữ liệu có thể bị xoá trên máy chủ. Tuy nhiên, bạn có thể sử dụng browser.browsingData.removeCookies() cụ thể hơn để xoá cookie cho tài khoản Đồng bộ hoá và tính năng Đồng bộ hoá sẽ bị tạm dừng trong trường hợp này.

Nguồn gốc cụ thể

Để xoá dữ liệu cho một nguồn gốc cụ thể hoặc để loại trừ một nhóm nguồn gốc khỏi việc xoá, bạn có thể sử dụng các tham số RemovalOptions.origins và RemovalOptions.excludeOrigins. Bạn chỉ có thể áp dụng các chính sách này cho cookie, bộ nhớ đệm và bộ nhớ (CacheStorage, FileSystems, IndexedDB, LocalStorage, ServiceWorkers và WebSQL).

browser.browsingData.remove({
  "origins": ["https://www.example.com"]
}, {
  "cacheStorage": true,
  "cookies": true,
  "fileSystems": true,
  "indexedDB": true,
  "localStorage": true,
  "serviceWorkers": true,
  "webSQL": true
}, callback);

Loại nguồn gốc

Việc thêm thuộc tính originTypes vào đối tượng tuỳ chọn API cho phép bạn chỉ định loại nguồn gốc nào sẽ bị ảnh hưởng. Nguồn gốc được chia thành ba loại:

  • unprotectedWeb bao gồm trường hợp chung của các trang web mà người dùng truy cập mà không thực hiện bất kỳ hành động đặc biệt nào. Nếu bạn không chỉ định originTypes, API sẽ mặc định xoá dữ liệu khỏi các nguồn gốc trang web không được bảo vệ.
  • protectedWeb bao gồm những nguồn gốc trang web đã được cài đặt dưới dạng ứng dụng lưu trữ. Ví dụ: việc cài đặt Angry Birds sẽ bảo vệ nguồn gốc https://chrome.angrybirds.com và xoá nguồn gốc đó khỏi danh mục unprotectedWeb. Hãy cẩn thận khi kích hoạt tính năng xoá dữ liệu cho các nguồn gốc này: đảm bảo người dùng biết họ đang nhận được gì, vì thao tác này sẽ xoá vĩnh viễn dữ liệu trò chơi của họ. Không ai muốn phải phá huỷ những ngôi nhà nhỏ của lợn nhiều lần hơn mức cần thiết.
  • extension bao gồm các nguồn gốc theo giao thức chrome-extensions:. Một lần nữa, bạn nên hết sức cẩn thận khi xoá dữ liệu của tiện ích.

Chúng ta có thể điều chỉnh ví dụ trước để chỉ xoá dữ liệu khỏi các trang web được bảo vệ như sau:

var callback = function () {
  // Do something clever here once data has been removed.
};

var millisecondsPerWeek = 1000 * 60 * 60 * 24 * 7;
var oneWeekAgo = (new Date()).getTime() - millisecondsPerWeek;
browser.browsingData.remove({
  "since": oneWeekAgo,
  "originTypes": {
    "protectedWeb": true
  }
}, {
  "appcache": true,
  "cache": true,
  "cacheStorage": true,
  "cookies": true,
  "downloads": true,
  "fileSystems": true,
  "formData": true,
  "history": true,
  "indexedDB": true,
  "localStorage": true,
  "passwords": true,
  "serviceWorkers": true,
  "webSQL": true
}, callback);

Ví dụ

Để dùng thử API này, hãy cài đặt ví dụ về browsingData API từ kho lưu trữ chrome-extension-samples.

Loại

DataTypeSet

Một tập hợp các loại dữ liệu. Các kiểu dữ liệu bị thiếu được hiểu là false.

Thuộc tính

  • bộ nhớ đệm ứng dụng

    boolean không bắt buộc

    Ngừng sử dụng kể từ Chrome 152

    Tính năng hỗ trợ cho appcache đã bị xoá. Loại dữ liệu này sẽ bị bỏ qua.

    Bộ nhớ đệm ứng dụng của trang web.

  • bộ nhớ đệm

    boolean không bắt buộc

    Bộ nhớ đệm của trình duyệt.

  • cacheStorage

    boolean không bắt buộc

    Chrome 72 trở lên browser.* kể từ Chrome 148

    Dung lượng lưu trữ của bộ nhớ đệm

  • cookie

    boolean không bắt buộc

    Cookie của trình duyệt.

  • nội dung tải xuống

    boolean không bắt buộc

    Danh sách tệp tải xuống của trình duyệt.

  • fileSystems

    boolean không bắt buộc

    Hệ thống tệp của trang web.

  • formData

    boolean không bắt buộc

    Dữ liệu biểu mẫu được lưu trữ của trình duyệt.

  • lịch sử

    boolean không bắt buộc

    Nhật ký của trình duyệt.

  • indexedDB

    boolean không bắt buộc

    Dữ liệu IndexedDB của trang web.

  • localStorage

    boolean không bắt buộc

    Dữ liệu trong bộ nhớ cục bộ của trang web.

  • mật khẩu

    boolean không bắt buộc

    Ngừng sử dụng kể từ Chrome 144

    Chúng tôi đã ngừng hỗ trợ tính năng xoá mật khẩu thông qua tiện ích. Loại dữ liệu này sẽ bị bỏ qua.

    Mật khẩu đã lưu trữ.

  • pluginData

    boolean không bắt buộc

    Ngừng sử dụng kể từ Chrome 88

    Chúng tôi đã ngừng hỗ trợ Flash. Loại dữ liệu này sẽ bị bỏ qua.

    Dữ liệu của trình bổ trợ.

  • serverBoundCertificates

    boolean không bắt buộc

    Ngừng sử dụng kể từ Chrome 76

    Chúng tôi đã ngừng hỗ trợ chứng chỉ liên kết với máy chủ. Loại dữ liệu này sẽ bị bỏ qua.

    Chứng chỉ liên kết với máy chủ.

  • serviceWorkers

    boolean không bắt buộc

    Trình chạy dịch vụ.

  • webSQL

    boolean không bắt buộc

    Ngừng sử dụng kể từ Chrome 152

    Chúng tôi đã ngừng hỗ trợ WebSQL. Loại dữ liệu này sẽ bị bỏ qua.

    Dữ liệu WebSQL của trang web.

RemovalOptions

Các lựa chọn xác định chính xác dữ liệu nào sẽ bị xoá.

Thuộc tính

  • excludeOrigins

    string[] không bắt buộc

    Chrome 74 trở lên trình duyệt.* kể từ Chrome 148

    Khi có, dữ liệu của các nguồn gốc trong danh sách này sẽ không bị xoá. Không thể sử dụng cùng với origins. Chỉ hỗ trợ cho cookie, bộ nhớ và bộ nhớ đệm. Cookie bị loại trừ cho toàn bộ miền có thể đăng ký.

  • originTypes

    object không bắt buộc

    Một đối tượng có các thuộc tính chỉ định loại nguồn gốc cần được xoá. Nếu bạn không chỉ định đối tượng này, thì theo mặc định, đối tượng này chỉ xoá các nguồn gốc "không được bảo vệ". Hãy đảm bảo rằng bạn thực sự muốn xoá dữ liệu ứng dụng trước khi thêm "protectedWeb" hoặc "extensions".

    • Kiểm tra an toàn

      boolean không bắt buộc

      Tiện ích và ứng dụng đóng gói mà người dùng đã cài đặt (hãy _thực sự_ cẩn thận!).

    • protectedWeb

      boolean không bắt buộc

      Các trang web đã được cài đặt dưới dạng ứng dụng lưu trữ (hãy cẩn thận!).

    • unprotectedWeb

      boolean không bắt buộc

      Trang web thông thường.

  • nguồn gốc

    [string, ...string[]] không bắt buộc

    Chrome 74 trở lên trình duyệt.* kể từ Chrome 148

    Khi có, chỉ dữ liệu cho các nguồn gốc trong danh sách này mới bị xoá. Chỉ hỗ trợ cho cookie, bộ nhớ và bộ nhớ đệm. Cookie sẽ bị xoá cho toàn bộ miền có thể đăng ký.

  • từ

    number không bắt buộc

    Xoá dữ liệu tích luỹ vào hoặc sau ngày này, được biểu thị bằng mili giây kể từ thời gian bắt đầu (có thể truy cập thông qua phương thức getTime của đối tượng Date JavaScript). Nếu không có, giá trị mặc định là 0 (sẽ xoá tất cả dữ liệu duyệt web).

Phương thức

remove()

browser.browsingData.remove(
  options: RemovalOptions,
  dataToRemove: DataTypeSet,
)
: Promise<void>

Xoá nhiều loại dữ liệu duyệt web được lưu trữ trong hồ sơ của người dùng.

Thông số

Giá trị trả về

  • Promise<void>

    Chrome 96 trở lên browser.* kể từ Chrome 148

    Giải quyết khi quá trình xoá hoàn tất.

removeAppcache()

Ngừng sử dụng kể từ Chrome 152
browser.browsingData.removeAppcache(
  options: RemovalOptions,
)
: Promise<void>

Tính năng hỗ trợ cho appcache đã bị xoá. Hàm này không có hiệu lực.

Xoá dữ liệu bộ nhớ đệm ứng dụng của trang web.

Thông số

Giá trị trả về

  • Promise<void>

    Chrome 96 trở lên browser.* kể từ Chrome 148

    Giải quyết khi dữ liệu bộ nhớ đệm ứng dụng của trang web đã được xoá.

removeCache()

browser.browsingData.removeCache(
  options: RemovalOptions,
)
: Promise<void>

Xoá bộ nhớ đệm của trình duyệt.

Thông số

Giá trị trả về

  • Promise<void>

    Chrome 96 trở lên browser.* kể từ Chrome 148

    Giải quyết khi bộ nhớ đệm của trình duyệt đã được xoá.

removeCacheStorage()

Chrome 72 trở lên browser.* kể từ Chrome 148
browser.browsingData.removeCacheStorage(
  options: RemovalOptions,
)
: Promise<void>

Xoá dữ liệu lưu trữ trong bộ nhớ đệm của trang web.

Thông số

Giá trị trả về

  • Promise<void>

    Chrome 96 trở lên browser.* kể từ Chrome 148

    Giải quyết khi bộ nhớ đệm của trang web đã được xoá.

removeCookies()

browser.browsingData.removeCookies(
  options: RemovalOptions,
)
: Promise<void>

Xoá cookie của trình duyệt và chứng chỉ liên kết với máy chủ được sửa đổi trong một khung thời gian cụ thể.

Thông số

Giá trị trả về

  • Promise<void>

    Chrome 96 trở lên browser.* kể từ Chrome 148

    Giải quyết khi cookie và chứng chỉ liên kết với máy chủ của trình duyệt đã được xoá.

removeDownloads()

browser.browsingData.removeDownloads(
  options: RemovalOptions,
)
: Promise<void>

Xoá danh sách tệp đã tải xuống của trình duyệt (không xoá chính các tệp đã tải xuống).

Thông số

Giá trị trả về

  • Promise<void>

    Chrome 96 trở lên browser.* kể từ Chrome 148

    Giải quyết khi danh sách tệp đã tải xuống của trình duyệt đã được xoá.

removeFileSystems()

browser.browsingData.removeFileSystems(
  options: RemovalOptions,
)
: Promise<void>

Xoá dữ liệu hệ thống tệp của trang web.

Thông số

Giá trị trả về

  • Promise<void>

    Chrome 96 trở lên browser.* kể từ Chrome 148

    Giải quyết khi hệ thống tệp của trang web đã được xoá.

removeFormData()

browser.browsingData.removeFormData(
  options: RemovalOptions,
)
: Promise<void>

Xoá dữ liệu biểu mẫu được lưu trữ trong trình duyệt (tự động điền).

Thông số

Giá trị trả về

  • Promise<void>

    Chrome 96 trở lên browser.* kể từ Chrome 148

    Giải quyết khi dữ liệu biểu mẫu của trình duyệt đã được xoá.

removeHistory()

browser.browsingData.removeHistory(
  options: RemovalOptions,
)
: Promise<void>

Xoá nhật ký của trình duyệt.

Thông số

Giá trị trả về

  • Promise<void>

    Chrome 96 trở lên browser.* kể từ Chrome 148

    Giải quyết khi nhật ký của trình duyệt đã được xoá.

removeIndexedDB()

browser.browsingData.removeIndexedDB(
  options: RemovalOptions,
)
: Promise<void>

Xoá dữ liệu IndexedDB của trang web.

Thông số

Giá trị trả về

  • Promise<void>

    Chrome 96 trở lên browser.* kể từ Chrome 148

    Giải quyết khi dữ liệu IndexedDB của trang web đã được xoá.

removeLocalStorage()

browser.browsingData.removeLocalStorage(
  options: RemovalOptions,
)
: Promise<void>

Xoá dữ liệu trong bộ nhớ cục bộ của trang web.

Thông số

Giá trị trả về

  • Promise<void>

    Chrome 96 trở lên browser.* kể từ Chrome 148

    Giải quyết khi bộ nhớ cục bộ của trang web đã được xoá.

removePasswords()

Ngừng sử dụng kể từ Chrome 144
browser.browsingData.removePasswords(
  options: RemovalOptions,
)
: Promise<void>

Chúng tôi đã ngừng hỗ trợ tính năng xoá mật khẩu thông qua tiện ích. Hàm này không có hiệu lực.

Xoá mật khẩu đã lưu trong trình duyệt.

Thông số

Giá trị trả về

  • Promise<void>

    Chrome 96 trở lên browser.* kể từ Chrome 148

    Giải quyết khi mật khẩu của trình duyệt đã được xoá.

removePluginData()

Ngừng sử dụng kể từ Chrome 88
browser.browsingData.removePluginData(
  options: RemovalOptions,
)
: Promise<void>

Chúng tôi đã ngừng hỗ trợ Flash. Hàm này không có hiệu lực.

Xoá dữ liệu của trình bổ trợ.

Thông số

Giá trị trả về

  • Promise<void>

    Chrome 96 trở lên browser.* kể từ Chrome 148

    Giải quyết khi dữ liệu của trình bổ trợ đã được xoá.

removeServiceWorkers()

Chrome 72 trở lên browser.* kể từ Chrome 148
browser.browsingData.removeServiceWorkers(
  options: RemovalOptions,
)
: Promise<void>

Xoá trình chạy dịch vụ của trang web.

Thông số

Giá trị trả về

  • Promise<void>

    Chrome 96 trở lên browser.* kể từ Chrome 148

    Giải quyết khi trình chạy dịch vụ của trang web đã bị xoá.

removeWebSQL()

Ngừng sử dụng kể từ Chrome 152
browser.browsingData.removeWebSQL(
  options: RemovalOptions,
)
: Promise<void>

Chúng tôi đã ngừng hỗ trợ WebSQL. Hàm này không có hiệu lực.

Xoá dữ liệu WebSQL của trang web.

Thông số

Giá trị trả về

  • Promise<void>

    Chrome 96 trở lên browser.* kể từ Chrome 148

    Giải quyết khi cơ sở dữ liệu WebSQL của trang web đã được xoá.

settings()

browser.browsingData.settings(): Promise<object>

Báo cáo những loại dữ liệu hiện được chọn trong giao diện người dùng của chế độ cài đặt "Xoá dữ liệu duyệt web". Lưu ý: một số loại dữ liệu có trong API này không có trong giao diện người dùng của phần cài đặt và một số chế độ cài đặt trong giao diện người dùng kiểm soát nhiều loại dữ liệu được liệt kê tại đây.

Giá trị trả về

  • <object> hứa hẹn

    Chrome 96 trở lên browser.* kể từ Chrome 148