Nội dung 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 quyền "browsingData" 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 đó 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 là số mili giây kể từ 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ã 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
}, {
"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 chỉ bằng một lệnh gọi 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 phương thức dễ đọc thay cho lệnh gọi 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, chrome.browsingData.remove
có thể tự động tạo lại cookie cho tài khoản Đồng bộ hoá sau khi xoá cookie. 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 để dữ liệu có thể bị xoá trên máy chủ. Tuy nhiên, bạn có thể sử dụng chrome.browsingData.removeCookies
cụ thể hơn để xoá cookie cho tài khoản Đồng bộ hoá và quá trình Đồng bộ hoá sẽ 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 các tham số RemovalOptions.origins
và RemovalOptions.excludeOrigins
. Bạn chỉ có thể áp dụng các quy tắc này 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 những loại nguồn gốc cần được ảnh hưởng. Hiện tại, các nguồn gốc được chia thành ba danh mục:
unprotectedWeb
đề cập đến 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ỉ địnhoriginTypes
, thì theo mặc định, API sẽ xoá dữ liệu khỏi các nguồn gốc web không được bảo vệ.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ữ. Chẳng hạn, việc cài đặt Angry Birds sẽ bảo vệhttps://chrome.angrybirds.com
gốc và xoá máy ảnh này khỏi danh mụcunprotectedWeb
. Hãy cẩn thận khi kích hoạt thao tác xoá dữ liệu đối với các nguồn gốc này: hãy đảm bảo người dùng biết họ đang nhận được gì, vì thao tác này sẽ xoá dữ liệu trò chơi của họ mà không thể khôi phục. 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:
. Một lần nữa, việc xoá dữ liệu của tiện ích là điều bạn nên hết sức cẩn thận.
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 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 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
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ênDung 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.
-
video 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
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.
-
video đã xem
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 bộ nhớ cục bộ của trang web.
-
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 được dùng nữa kể từ Chrome 88Chú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
Không được dùng kể từ Chrome 76Chú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
Dữ liệu WebSQL của trang web.
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ênNế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 không được chỉ định, đối tượng này sẽ chỉ xoá các nguồn gốc "không được bảo vệ" theo mặc định. 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 "secureWeb" hoặc "tiện ích".
-
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
[string, ...string[]] optional
Chrome 74 trở lênNế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ượngDate
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()
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.
Thông 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
có dạng như sau:() => void
Giá trị trả về
-
Promise<void>
Chrome 96 trở lênLờ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()
chrome.browsingData.removeAppcache(
options: RemovalOptions,
callback?: function,
)
Xoá dữ liệu bộ nhớ đệm của trang web.
Thông số
-
tùy chọn
-
số gọi lại
hàm không bắt buộc
Tham số
callback
có dạng như sau:() => void
Giá trị trả về
-
Promise<void>
Chrome 96 trở lênLờ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()
chrome.browsingData.removeCache(
options: RemovalOptions,
callback?: function,
)
Xoá bộ nhớ đệm của trình duyệt.
Thông số
-
tùy chọn
-
số gọi lại
hàm không bắt buộc
Tham số
callback
có dạng như sau:() => void
Giá trị trả về
-
Promise<void>
Chrome 96 trở lênLờ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()
chrome.browsingData.removeCacheStorage(
options: RemovalOptions,
callback?: function,
)
Xoá dữ liệu lưu trữ trong bộ nhớ đệm của các trang web.
Thông số
-
tùy chọn
-
số gọi lại
hàm không bắt buộc
Tham số
callback
có dạng như sau:() => void
Giá trị trả về
-
Promise<void>
Chrome 96 trở lênLờ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()
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ể.
Thông số
-
tùy chọn
-
số gọi lại
hàm không bắt buộc
Tham số
callback
có dạng như sau:() => void
Giá trị trả về
-
Promise<void>
Chrome 96 trở lênLờ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()
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).
Thông số
-
tùy chọn
-
số gọi lại
hàm không bắt buộc
Tham số
callback
có dạng như sau:() => void
Giá trị trả về
-
Promise<void>
Chrome 96 trở lênLờ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()
chrome.browsingData.removeFileSystems(
options: RemovalOptions,
callback?: function,
)
Xoá dữ liệu hệ thống tệp của trang web.
Thông số
-
tùy chọn
-
số gọi lại
hàm không bắt buộc
Tham số
callback
có dạng như sau:() => void
Giá trị trả về
-
Promise<void>
Chrome 96 trở lênLờ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()
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).
Thông số
-
tùy chọn
-
số gọi lại
hàm không bắt buộc
Tham số
callback
có dạng như sau:() => void
Giá trị trả về
-
Promise<void>
Chrome 96 trở lênLờ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()
chrome.browsingData.removeHistory(
options: RemovalOptions,
callback?: function,
)
Xoá nhật ký của trình duyệt.
Thông số
-
tùy chọn
-
số gọi lại
hàm không bắt buộc
Tham số
callback
có dạng như sau:() => void
Giá trị trả về
-
Promise<void>
Chrome 96 trở lênLờ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()
chrome.browsingData.removeIndexedDB(
options: RemovalOptions,
callback?: function,
)
Xoá dữ liệu IndexedDB của trang web.
Thông số
-
tùy chọn
-
số gọi lại
hàm không bắt buộc
Tham số
callback
có dạng như sau:() => void
Giá trị trả về
-
Promise<void>
Chrome 96 trở lênLờ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()
chrome.browsingData.removeLocalStorage(
options: RemovalOptions,
callback?: function,
)
Xoá dữ liệu bộ nhớ cục bộ của trang web.
Thông số
-
tùy chọn
-
số gọi lại
hàm không bắt buộc
Tham số
callback
có dạng như sau:() => void
Giá trị trả về
-
Promise<void>
Chrome 96 trở lênLờ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()
chrome.browsingData.removePasswords(
options: RemovalOptions,
callback?: function,
)
Xoá mật khẩu đã lưu trữ của trình duyệt.
Thông số
-
tùy chọn
-
số gọi lại
hàm không bắt buộc
Tham số
callback
có dạng như sau:() => void
Giá trị trả về
-
Promise<void>
Chrome 96 trở lênLờ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()
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á dữ liệu của trình bổ trợ.
Thông số
-
tùy chọn
-
số gọi lại
hàm không bắt buộc
Tham số
callback
có dạng như sau:() => void
Giá trị trả về
-
Promise<void>
Chrome 96 trở lênLờ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()
chrome.browsingData.removeServiceWorkers(
options: RemovalOptions,
callback?: function,
)
Xoá trình chạy dịch vụ của trang web.
Thông số
-
tùy chọn
-
số gọi lại
hàm không bắt buộc
Tham số
callback
có dạng như sau:() => void
Giá trị trả về
-
Promise<void>
Chrome 96 trở lênLờ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()
chrome.browsingData.removeWebSQL(
options: RemovalOptions,
callback?: function,
)
Xoá dữ liệu WebSQL của trang web.
Thông số
-
tùy chọn
-
số gọi lại
hàm không bắt buộc
Tham số
callback
có dạng như sau:() => void
Giá trị trả về
-
Promise<void>
Chrome 96 trở lênLờ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()
chrome.browsingData.settings(
callback?: function,
)
Báo cáo loại dữ liệu hiện được chọn trong giao diện người dùng 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à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.
Thông số
-
số gọi lại
hàm không bắt buộc
Tham số
callback
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<object>
Chrome 96 trở lênLờ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.