chrome.browsingData

Mô tả

Dùng API chrome.browsingData để xoá dữ liệu duyệt web khỏi hồ sơ trên máy của người dùng.

Quyền

browsingData

Tệp kê khai

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

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

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 trong quá khứ mà sau đó người dùng dữ liệu duyệt web. Dấu thời gian này được định dạng là số mili giây kể từ khi Thời gian bắt đầu của hệ thống Unix (có thể được truy xuất từ đối tượng Date JavaScript thông qua phương thức getTime).

Ví dụ: để xoá tất cả dữ liệu duyệt web của người dùng từ tuần trước, bạn có thể viết mã dưới dạng 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;
chrome.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 chrome.browsingData.remove cho phép bạn xoá nhiều loại dữ liệu duyệt web bằng một cuộc 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 xóa một loại dữ liệu duyệt web cụ thể (ví dụ: cookie), thì càng chi tiết các phương thức này sẽ cung cấp một phương thức thay thế dễ đọc cho lệnh gọi có chứa 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;
chrome.browsingData.removeCookies({
  "since": oneWeekAgo
}, callback);

Nếu người dùng đang đồng bộ hoá dữ liệu của mình, chrome.browsingData.remove có thể tự động tạo lại cookie cho tài khoản Đồng bộ hoá sau khi xoá. Việc này nhằm đảm bảo 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, càng cụ thể chrome.browsingData.removeCookies có thể được dùng để xoá cookie cho tài khoản Đồng bộ hoá và Đồ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 quá trình xoá, bạn có thể sử dụng Tham số RemovalOptions.originsRemovalOptions.excludeOrigins. Bạn chỉ có thể áp dụng các ưu đãi đó cho cookie, bộ nhớ đệm và dung lượng lưu trữ (CacheStorage, FileSystems, IndexedDB, LocalStorage, ServiceWorkers và WebSQL).

chrome.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 của API cho phép bạn chỉ định loại nguồn gốc. Hiện tại, các nguồn gốc được chia thành ba danh mục:

  • 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 hành động. Nếu bạn không chỉ định originTypes, thì theo mặc định, API sẽ xoá dữ liệu khỏi dữ liệu không được bảo vệ nguồn gốc web.
  • protectedWeb bao gồm các nguồn gốc web đã được cài đặt dưới dạng ứng dụng được lưu trữ. Ví dụ: cài đặt Angry Birds sẽ bảo vệ bản gốc https://chrome.angrybirds.com và sẽ xoá nó khỏi danh mục unprotectedWeb. Hãy cẩn thận khi kích hoạt thao tác xoá dữ liệu cho các nguồn này: hãy đảm bảo người dùng của bạn biết những gì họ đang nhận được, vì điều này sẽ không thể thu hồi xoá dữ liệu trò chơi của họ. Không ai muốn phá hoại những ngôi nhà heo nhỏ thường xuyên hơn mức cần thiết.
  • extension bao gồm các nguồn gốc trong lược đồ chrome-extensions:. Việc xóa dữ liệu tiện ích là một lần nữa, bạn nên hết sức cẩn trọng.

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

Loại

DataTypeSet

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

Thuộc tính

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

    boolean không bắt buộc

    Trang web bộ nhớ đệm ứng dụng.

  • 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

    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ải xuống của trình duyệt.

  • fileSystems

    boolean không bắt buộc

    Trang web hệ thống tệp.

  • 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

    Trang web Dữ liệu IndexedDB.

  • localStorage

    boolean không bắt buộc

    Trang web dữ liệu lưu trữ cục bộ.

  • mật khẩu

    boolean không bắt buộc

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

  • pluginData

    boolean không bắt buộc

    Không dùng nữa kể từ Chrome 88

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

    Trình bổ trợ .

  • serverBoundCertificates

    boolean không bắt buộc

    Không dùng nữa kể từ Chrome 76

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

    Chứng chỉ ràng buộc 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

    Trang web Dữ liệu WebSQL.

RemovalOptions

Các tuỳ 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

    Nếu có, dữ liệu của các nguồn 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

    đối tượng không bắt buộc

    Đối tượng có thuộc tính chỉ định loại nguồn gốc cần được xoá. Nếu đối tượng này không được chỉ định, thì theo mặc định, đối tượng này chỉ xoá "không được bảo vệ" nguồn gốc. 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 'phần mở rộng'.

    • phần mở rộng

      boolean không bắt buộc

      Các tiện ích và ứng dụng đóng gói mà người dùng đã cài đặt (hãy _really_ cẩn thận!).

    • protectedWeb

      boolean không bắt buộc

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

    • unprotectedWeb

      boolean không bắt buộc

      Trang web thông thường.

  • nguồn gốc

    [chuỗi, ...chuỗi[]] không bắt buộc

    Chrome 74 trở lên

    Nếu có, chỉ dữ liệu của các nguồn 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ừ

    số không bắt buộc

    Xoá dữ liệu được 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ủa hệ thống (có thể truy cập qua phương thức getTime của đối tượng Date JavaScript). Nếu không có, giá trị mặc định sẽ là 0 (sẽ xoá tất cả dữ liệu duyệt web).

Phương thức

remove()

Lời hứa
chrome.browsingData.remove(
  options: RemovalOptions,
  dataToRemove: DataTypeSet,
  callback?: function,
)

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

Tham số

  • tùy chọn
  • dataToRemove

    Tập hợp các loại dữ liệu cần xoá.

  • số gọi lại

    hàm không bắt buộc

    Tham số callback sẽ có dạng như sau:

    () => void

Giá trị trả về

  • Lời hứa<vô hiệu>

    Chrome 96 trở lên

    Lời hứa chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.

removeAppcache()

Lời hứa
chrome.browsingData.removeAppcache(
  options: RemovalOptions,
  callback?: function,
)

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

Tham số

  • tùy chọn
  • số gọi lại

    hàm không bắt buộc

    Tham số callback sẽ có dạng như sau:

    () => void

Giá trị trả về

  • Lời hứa<vô hiệu>

    Chrome 96 trở lên

    Lời hứa chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.

removeCache()

Lời hứa
chrome.browsingData.removeCache(
  options: RemovalOptions,
  callback?: function,
)

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

Tham số

  • tùy chọn
  • số gọi lại

    hàm không bắt buộc

    Tham số callback sẽ có dạng như sau:

    () => void

Giá trị trả về

  • Lời hứa<vô hiệu>

    Chrome 96 trở lên

    Lời hứa chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.

removeCacheStorage()

Lời hứa Chrome 72 trở lên
chrome.browsingData.removeCacheStorage(
  options: RemovalOptions,
  callback?: function,
)

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

Tham số

  • tùy chọn
  • số gọi lại

    hàm không bắt buộc

    Tham số callback sẽ có dạng như sau:

    () => void

Giá trị trả về

  • Lời hứa<vô hiệu>

    Chrome 96 trở lên

    Lời hứa chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.

removeCookies()

Lời hứa
chrome.browsingData.removeCookies(
  options: RemovalOptions,
  callback?: function,
)

Xoá cookie của trình duyệt và chứng chỉ ràng buộc với máy chủ đã sửa đổi trong một khung thời gian cụ thể.

Tham số

  • tùy chọn
  • số gọi lại

    hàm không bắt buộc

    Tham số callback sẽ có dạng như sau:

    () => void

Giá trị trả về

  • Lời hứa<vô hiệu>

    Chrome 96 trở lên

    Lời hứa chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.

removeDownloads()

Lời hứa
chrome.browsingData.removeDownloads(
  options: RemovalOptions,
  callback?: function,
)

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

Tham số

  • tùy chọn
  • số gọi lại

    hàm không bắt buộc

    Tham số callback sẽ có dạng như sau:

    () => void

Giá trị trả về

  • Lời hứa<vô hiệu>

    Chrome 96 trở lên

    Lời hứa chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.

removeFileSystems()

Lời hứa
chrome.browsingData.removeFileSystems(
  options: RemovalOptions,
  callback?: function,
)

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

Tham số

  • tùy chọn
  • số gọi lại

    hàm không bắt buộc

    Tham số callback sẽ có dạng như sau:

    () => void

Giá trị trả về

  • Lời hứa<vô hiệu>

    Chrome 96 trở lên

    Lời hứa chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.

removeFormData()

Lời hứa
chrome.browsingData.removeFormData(
  options: RemovalOptions,
  callback?: function,
)

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

Tham số

  • tùy chọn
  • số gọi lại

    hàm không bắt buộc

    Tham số callback sẽ có dạng như sau:

    () => void

Giá trị trả về

  • Lời hứa<vô hiệu>

    Chrome 96 trở lên

    Lời hứa chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.

removeHistory()

Lời hứa
chrome.browsingData.removeHistory(
  options: RemovalOptions,
  callback?: function,
)

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

Tham số

  • tùy chọn
  • số gọi lại

    hàm không bắt buộc

    Tham số callback sẽ có dạng như sau:

    () => void

Giá trị trả về

  • Lời hứa<vô hiệu>

    Chrome 96 trở lên

    Lời hứa chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.

removeIndexedDB()

Lời hứa
chrome.browsingData.removeIndexedDB(
  options: RemovalOptions,
  callback?: function,
)

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

Tham số

  • tùy chọn
  • số gọi lại

    hàm không bắt buộc

    Tham số callback sẽ có dạng như sau:

    () => void

Giá trị trả về

  • Lời hứa<vô hiệu>

    Chrome 96 trở lên

    Lời hứa chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.

removeLocalStorage()

Lời hứa
chrome.browsingData.removeLocalStorage(
  options: RemovalOptions,
  callback?: function,
)

Xoá dữ liệu của trang web dữ liệu lưu trữ cục bộ.

Tham số

  • tùy chọn
  • số gọi lại

    hàm không bắt buộc

    Tham số callback sẽ có dạng như sau:

    () => void

Giá trị trả về

  • Lời hứa<vô hiệu>

    Chrome 96 trở lên

    Lời hứa chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.

removePasswords()

Lời hứa
chrome.browsingData.removePasswords(
  options: RemovalOptions,
  callback?: function,
)

Xoá mật khẩu đã lưu trữ của trình duyệt.

Tham số

  • tùy chọn
  • số gọi lại

    hàm không bắt buộc

    Tham số callback sẽ có dạng như sau:

    () => void

Giá trị trả về

  • Lời hứa<vô hiệu>

    Chrome 96 trở lên

    Lời hứa chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.

removePluginData()

Lời hứa Không dùng nữa kể từ Chrome 88
chrome.browsingData.removePluginData(
  options: RemovalOptions,
  callback?: function,
)

Chúng tôi đã ngừng hỗ trợ Flash. Hàm này không có tác dụng.

Xoá trình bổ trợ .

Tham số

  • tùy chọn
  • số gọi lại

    hàm không bắt buộc

    Tham số callback sẽ có dạng như sau:

    () => void

Giá trị trả về

  • Lời hứa<vô hiệu>

    Chrome 96 trở lên

    Lời hứa chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.

removeServiceWorkers()

Lời hứa Chrome 72 trở lên
chrome.browsingData.removeServiceWorkers(
  options: RemovalOptions,
  callback?: function,
)

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

Tham số

  • tùy chọn
  • số gọi lại

    hàm không bắt buộc

    Tham số callback sẽ có dạng như sau:

    () => void

Giá trị trả về

  • Lời hứa<vô hiệu>

    Chrome 96 trở lên

    Lời hứa chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.

removeWebSQL()

Lời hứa
chrome.browsingData.removeWebSQL(
  options: RemovalOptions,
  callback?: function,
)

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

Tham số

  • tùy chọn
  • số gọi lại

    hàm không bắt buộc

    Tham số callback sẽ có dạng như sau:

    () => void

Giá trị trả về

  • Lời hứa<vô hiệu>

    Chrome 96 trở lên

    Lời hứa chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.

settings()

Lời hứa
chrome.browsingData.settings(
  callback?: function,
)

Báo cáo loại dữ liệu nào hiện được chọn trong 'Xoá dữ liệu duyệt web' giao diện người dùng cài đặt. 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ài đặt và một số chế độ cài đặt giao diện người dùng kiểm soát nhiều loại dữ liệu được liệt kê ở đây.

Tham số

  • số gọi lại

    hàm không bắt buộc

    Tham số callback sẽ có dạng như sau:

    (result: object) => void

    • kết quả

      đối tượng

      • dataRemovalPermitted

        Tất cả các loại đều sẽ xuất hiện trong kết quả, với giá trị true nếu được phép xoá (ví dụ: theo chính sách doanh nghiệp) và false nếu không được phép xoá.

      • dataToRemove

        Tất cả các loại đều sẽ xuất hiện trong kết quả, với giá trị true nếu cả hai loại đó đều được chọn để xoá và được phép xoá, nếu không thì false.

      • tùy chọn

Giá trị trả về

  • Promise&lt;object&gt;

    Chrome 96 trở lên

    Lời hứa chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.