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 một 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 dưới dạng số mili giây kể từ thời gian bắt đầu của hệ thống Unix (có thể 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 qua, 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 lựa chọn thay thế dễ đọc cho 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; chrome.browsingData.removeCookies({ "since": oneWeekAgo }, callback);
Nếu người dùng đang đồng bộ hoá dữ liệu, thì 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 cuối cùng có thể bị xoá trên máy chủ. Tuy nhiên, bạn có thể dùng chrome.browsingData.removeCookies()
cụ thể hơn để xoá cookie cho tài khoản Đồng bộ hoá và Đồ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 cụ thể hoặc loại trừ một nhóm nguồn khỏi việc xoá, bạn có thể sử dụng các tham số RemovalOptions.origins
và RemovalOptions.excludeOrigins
. Chúng chỉ có thể được áp dụng cho cookie, bộ nhớ đệm và bộ nhớ (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 lựa chọn API cho phép bạn chỉ định những loại nguồn gốc cần được áp dụng. Nguồn gốc được chia thành 3 danh mục:
unprotectedWeb
bao gồm trường hợp chung của những 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
, API sẽ mặc định xoá dữ liệu khỏi các nguồn gốc web không được bảo vệ.protectedWeb
bao gồm những nguồn gốc web đã được cài đặt dưới dạng các ứng dụng được lưu trữ. Ví dụ: việc cài đặt Angry Birds sẽ bảo vệ nguồnhttps://chrome.angrybirds.com
và xoá nguồn này khỏi danh mụcunprotectedWeb
. Hãy cẩn thận khi kích hoạt việc xoá dữ liệu cho những nguồn này: đảm bảo người dùng biết họ sẽ nhận được gì, vì việ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á đổ những ngôi nhà nhỏ của chú heo thường xuyên hơn mức cần thiết.extension
bao gồm các nguồn gốc theo lược đồchrome-extensions:
. Việc xoá dữ liệu tiện ích là một việc mà bạn cần hết sức thậ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ề 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 loại dữ liệu bị thiếu được diễn giải là false
.
Thuộc tính
- appcache
boolean không bắt buộc
Appcache 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ênBộ 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
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 trình duyệt lưu trữ.
- 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
Mật khẩu đã lưu trữ.
- pluginData
boolean không bắt buộc
Không 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 dùng nữa kể từ Chrome 76Chúng tôi đã xoá tính nă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
Dữ liệu WebSQL của các trang web.
RemovalOptions
Các lựa chọn xác định chính xác dữ liệu sẽ bị xoá.
Thuộc tính
- excludeOrigins
string[] không bắt buộc
Chrome 74 trở lênKhi có mặt, dữ liệu cho các nguồn trong danh sách này sẽ không bị xoá. Không thể dùng cùng với
origins
. Chỉ hỗ trợ cookie, bộ nhớ và bộ nhớ đệm. Cookie sẽ bị loại trừ đối với toàn bộ miền có thể đăng ký. - originTypes
đối tượng không bắt buộc
Một đối tượng có các thuộc tính chỉ định những loại nguồn gốc cần được xoá. Nếu bạn không chỉ định đối tượng này, theo mặc định, đối tượng này sẽ chỉ xoá các nguồn "không được bảo vệ". Vui lòng đả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ênKhi có, chỉ dữ liệu cho các nguồn trong danh sách này mới bị xoá. Chỉ hỗ trợ 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 được tích luỹ từ ngày này trở đi, được biểu thị bằng mili giây kể từ thời điểm bắt đầu (có thể truy cập thông qua phương thức
getTime
của đối tượngDate
JavaScript). Nếu không có, giá trị mặc định là 0 (thao tác này sẽ xoá tất cả dữ liệu duyệt web).
Phương thức
remove()
chrome.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ơ 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á.
Giá trị trả về
-
Promise<void>
Chrome 96 trở lên
removeAppcache()
chrome.browsingData.removeAppcache(
options: RemovalOptions,
): Promise<void>
Xoá dữ liệu appcache của trang web.
Thông số
- tùy chọn
Giá trị trả về
-
Promise<void>
Chrome 96 trở lên
removeCache()
chrome.browsingData.removeCache(
options: RemovalOptions,
): Promise<void>
Xoá bộ nhớ đệm của trình duyệt.
Thông số
- tùy chọn
Giá trị trả về
-
Promise<void>
Chrome 96 trở lên
removeCacheStorage()
chrome.browsingData.removeCacheStorage(
options: RemovalOptions,
): Promise<void>
Xoá dữ liệu bộ nhớ đệm của các trang web.
Thông số
- tùy chọn
Giá trị trả về
-
Promise<void>
Chrome 96 trở lên
removeCookies()
chrome.browsingData.removeCookies(
options: RemovalOptions,
): Promise<void>
Xoá cookie và chứng chỉ liên kết với máy chủ của trình duyệt đã được sửa đổi trong một khoảng thời gian cụ thể.
Thông số
- tùy chọn
Giá trị trả về
-
Promise<void>
Chrome 96 trở lên
removeDownloads()
chrome.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ố
- tùy chọn
Giá trị trả về
-
Promise<void>
Chrome 96 trở lên
removeFileSystems()
chrome.browsingData.removeFileSystems(
options: RemovalOptions,
): Promise<void>
Xoá dữ liệu hệ thống tệp của các trang web.
Thông số
- tùy chọn
Giá trị trả về
-
Promise<void>
Chrome 96 trở lên
removeFormData()
chrome.browsingData.removeFormData(
options: RemovalOptions,
): Promise<void>
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
Giá trị trả về
-
Promise<void>
Chrome 96 trở lên
removeHistory()
chrome.browsingData.removeHistory(
options: RemovalOptions,
): Promise<void>
Xoá nhật ký duyệt web.
Thông số
- tùy chọn
Giá trị trả về
-
Promise<void>
Chrome 96 trở lên
removeIndexedDB()
chrome.browsingData.removeIndexedDB(
options: RemovalOptions,
): Promise<void>
Xoá dữ liệu IndexedDB của các trang web.
Thông số
- tùy chọn
Giá trị trả về
-
Promise<void>
Chrome 96 trở lên
removeLocalStorage()
chrome.browsingData.removeLocalStorage(
options: RemovalOptions,
): Promise<void>
Xoá dữ liệu trong bộ nhớ cục bộ của các trang web.
Thông số
- tùy chọn
Giá trị trả về
-
Promise<void>
Chrome 96 trở lên
removePasswords()
chrome.browsingData.removePasswords(
options: RemovalOptions,
): Promise<void>
Xoá mật khẩu đã lưu trữ của trình duyệt.
Thông số
- tùy chọn
Giá trị trả về
-
Promise<void>
Chrome 96 trở lên
removePluginData()
chrome.browsingData.removePluginData(
options: RemovalOptions,
): Promise<void>
Chúng tôi đã ngừng hỗ trợ Flash. Chức năng này không có tác dụng.
Xoá dữ liệu của các trình bổ trợ.
Thông số
- tùy chọn
Giá trị trả về
-
Promise<void>
Chrome 96 trở lên
removeServiceWorkers()
chrome.browsingData.removeServiceWorkers(
options: RemovalOptions,
): Promise<void>
Xoá trình chạy dịch vụ của trang web.
Thông số
- tùy chọn
Giá trị trả về
-
Promise<void>
Chrome 96 trở lên
removeWebSQL()
chrome.browsingData.removeWebSQL(
options: RemovalOptions,
): Promise<void>
Xoá dữ liệu WebSQL của các trang web.
Thông số
- tùy chọn
Giá trị trả về
-
Promise<void>
Chrome 96 trở lên
settings()
chrome.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 "Xoá dữ liệu duyệt web" của phần 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.
Giá trị trả về
-
Promise<object>
Chrome 96 trở lên