Deskripsi
Gunakan chrome.browsingData
API untuk menghapus data penjelajahan dari profil lokal pengguna.
Izin
browsingData
Anda harus mendeklarasikan izin "browsingData"
di manifes ekstensi untuk menggunakan API ini.
{
"name": "My extension",
...
"permissions": [
"browsingData",
],
...
}
Konsep dan penggunaan
Kasus penggunaan paling sederhana untuk API ini adalah mekanisme berbasis waktu untuk menghapus data penjelajahan pengguna.
Kode Anda harus menyediakan stempel waktu yang menunjukkan tanggal historis setelah data penjelajahan pengguna harus dihapus. Stempel waktu ini diformat sebagai jumlah milidetik sejak
epoch Unix (yang dapat diambil dari objek Date
JavaScript menggunakan metode getTime()
).
Misalnya, untuk menghapus semua data penjelajahan pengguna dari minggu lalu, Anda dapat menulis kode sebagai berikut:
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);
Metode chrome.browsingData.remove()
memungkinkan Anda menghapus berbagai jenis data penjelajahan dengan
satu panggilan, dan akan jauh lebih cepat daripada memanggil beberapa metode yang lebih spesifik. Namun, jika Anda hanya ingin menghapus satu jenis data penjelajahan tertentu (misalnya cookie), metode yang lebih terperinci menawarkan alternatif yang dapat dibaca untuk panggilan yang diisi dengan 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);
Jika pengguna menyinkronkan data, chrome.browsingData.remove()
dapat otomatis membuat ulang cookie
untuk akun Sinkronisasi setelah menghapusnya. Hal ini untuk memastikan bahwa Sinkronisasi dapat terus berfungsi, sehingga
data pada akhirnya dapat dihapus di server. Namun, chrome.browsingData.removeCookies()
yang lebih spesifik
dapat digunakan untuk menghapus cookie untuk akun Sinkronisasi, dan Sinkronisasi
akan dijeda dalam kasus ini.
Asal tertentu
Untuk menghapus data untuk origin tertentu atau mengecualikan kumpulan origin dari penghapusan, Anda dapat menggunakan
parameter RemovalOptions.origins
dan RemovalOptions.excludeOrigins
. Metrik ini hanya dapat diterapkan ke cookie, cache, dan penyimpanan (CacheStorage, FileSystems, IndexedDB, LocalStorage, ServiceWorkers, dan WebSQL).
chrome.browsingData.remove({
"origins": ["https://www.example.com"]
}, {
"cacheStorage": true,
"cookies": true,
"fileSystems": true,
"indexedDB": true,
"localStorage": true,
"serviceWorkers": true,
"webSQL": true
}, callback);
Jenis origin
Menambahkan properti originTypes
ke objek opsi API memungkinkan Anda menentukan jenis origin
yang harus terpengaruh. Origin dibagi menjadi tiga kategori:
unprotectedWeb
mencakup kasus umum situs yang dikunjungi pengguna tanpa melakukan tindakan khusus apa pun. Jika Anda tidak menentukanoriginTypes
, API akan secara default menghapus data dari origin web yang tidak dilindungi.protectedWeb
mencakup origin web yang telah diinstal sebagai aplikasi yang dihosting. Menginstal Angry Birds, misalnya, akan melindungihttps://chrome.angrybirds.com
asal, dan menghapusnya dari kategoriunprotectedWeb
. Berhati-hatilah saat memicu penghapusan data untuk origin ini: pastikan pengguna mengetahui apa yang mereka dapatkan, karena tindakan ini akan menghapus data game mereka secara permanen. Tidak ada yang mau mengetuk rumah babi kecil lebih sering dari yang diperlukan.extension
mencakup origin pada skemachrome-extensions:
. Sekali lagi, menghapus data ekstensi harus sangat berhati-hati.
Kita dapat menyesuaikan contoh sebelumnya untuk hanya menghapus data dari situs yang dilindungi sebagai berikut:
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);
Contoh
Untuk mencoba API ini, instal contoh penjelajahanData API dari repositori chrome-extension-samples.
Jenis
DataTypeSet
Kumpulan jenis data. Jenis data yang tidak ada akan ditafsirkan sebagai false
.
Properti
-
{i>appcache<i}
boolean opsional
Appcache situs.
-
cache
boolean opsional
Cache browser.
-
cacheStorage
boolean opsional
Chrome 72 ke atasPenyimpanan cache
-
cookie
boolean opsional
Cookie browser.
-
download
boolean opsional
Daftar download browser.
-
fileSystems
boolean opsional
Sistem file situs.
-
formData
boolean opsional
Data formulir yang disimpan oleh browser.
-
history
boolean opsional
Histori browser.
-
indexedDB
boolean opsional
Data pengguna situs web.
-
localStorage
boolean opsional
Data penyimpanan lokal situs.
-
sandi
boolean opsional
Sandi tersimpan.
-
pluginData
boolean opsional
Tidak digunakan lagi sejak Chrome 88Dukungan untuk Flash telah dihapus. Jenis data ini akan diabaikan.
Data plugin.
-
serverBoundCertificates
boolean opsional
Tidak digunakan lagi sejak Chrome 76Dukungan untuk sertifikat yang terikat server telah dihapus. Jenis data ini akan diabaikan.
Sertifikat yang terikat server.
-
serviceWorkers
boolean opsional
Service Worker.
-
webSQL
boolean opsional
Data WebSQL situs.
RemovalOptions
Opsi yang menentukan dengan tepat data yang akan dihapus.
Properti
-
excludeOrigins
string[] opsional
Chrome 74 dan yang lebih baruJika ada, data untuk origin dalam daftar ini dikecualikan dari penghapusan. Tidak dapat digunakan bersama
origins
. Hanya didukung untuk cookie, penyimpanan, dan cache. Cookie dikecualikan untuk seluruh domain yang dapat didaftarkan. -
originTypes
objek opsional
Objek yang propertinya menentukan jenis origin yang harus dihapus. Jika objek ini tidak ditentukan, defaultnya adalah hanya menghapus asal yang "tidak dilindungi". Pastikan Anda benar-benar ingin menghapus data aplikasi sebelum menambahkan ' protectedWeb' atau 'ekstensi'.
-
extension
boolean opsional
Ekstensi dan aplikasi terpaket yang telah diinstal pengguna (berhati-hatilah_!).
-
protectedWeb
boolean opsional
Situs web yang telah diinstal sebagai aplikasi yang dihosting (hati-hati!).
-
unprotectedWeb
boolean opsional
Situs normal.
-
-
origin
[string, ...string[]] optional
Chrome 74 dan yang lebih baruJika ada, hanya data untuk origin dalam daftar ini yang akan dihapus. Hanya didukung untuk cookie, penyimpanan, dan cache. Cookie untuk seluruh domain yang dapat didaftarkan akan dihapus.
-
sejak
angka opsional
Menghapus data yang terakumulasi pada atau setelah tanggal ini, yang diwakili dalam milidetik sejak epoch (dapat diakses melalui metode
getTime
dari objekDate
JavaScript). Jika tidak ada, defaultnya adalah 0 (yang akan menghapus semua data penjelajahan).
Metode
remove()
chrome.browsingData.remove(
options: RemovalOptions,
dataToRemove: DataTypeSet,
callback?: function,
)
Menghapus berbagai jenis data penjelajahan yang disimpan di profil pengguna.
Parameter
-
opsi
-
dataToRemove
Kumpulan jenis data yang akan dihapus.
-
callback
fungsi opsional
Parameter
callback
terlihat seperti ini:() => void
Hasil
-
Promise<void>
Chrome 96 dan yang lebih baruPromise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Promise di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.
removeAppcache()
chrome.browsingData.removeAppcache(
options: RemovalOptions,
callback?: function,
)
Menghapus data appcache situs.
Parameter
-
opsi
-
callback
fungsi opsional
Parameter
callback
terlihat seperti ini:() => void
Hasil
-
Promise<void>
Chrome 96 dan yang lebih baruPromise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Promise di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.
removeCache()
chrome.browsingData.removeCache(
options: RemovalOptions,
callback?: function,
)
Menghapus cache browser.
Parameter
-
opsi
-
callback
fungsi opsional
Parameter
callback
terlihat seperti ini:() => void
Hasil
-
Promise<void>
Chrome 96 dan yang lebih baruPromise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Promise di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.
removeCacheStorage()
chrome.browsingData.removeCacheStorage(
options: RemovalOptions,
callback?: function,
)
Menghapus data penyimpanan cache situs.
Parameter
-
opsi
-
callback
fungsi opsional
Parameter
callback
terlihat seperti ini:() => void
Hasil
-
Promise<void>
Chrome 96 dan yang lebih baruPromise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Promise di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.
removeCookies()
chrome.browsingData.removeCookies(
options: RemovalOptions,
callback?: function,
)
Menghapus cookie browser dan sertifikat yang terikat server yang dimodifikasi dalam jangka waktu tertentu.
Parameter
-
opsi
-
callback
fungsi opsional
Parameter
callback
terlihat seperti ini:() => void
Hasil
-
Promise<void>
Chrome 96 dan yang lebih baruPromise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Promise di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.
removeDownloads()
chrome.browsingData.removeDownloads(
options: RemovalOptions,
callback?: function,
)
Menghapus daftar file browser yang didownload (bukan file yang didownload itu sendiri).
Parameter
-
opsi
-
callback
fungsi opsional
Parameter
callback
terlihat seperti ini:() => void
Hasil
-
Promise<void>
Chrome 96 dan yang lebih baruPromise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Promise di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.
removeFileSystems()
chrome.browsingData.removeFileSystems(
options: RemovalOptions,
callback?: function,
)
Menghapus data sistem file situs.
Parameter
-
opsi
-
callback
fungsi opsional
Parameter
callback
terlihat seperti ini:() => void
Hasil
-
Promise<void>
Chrome 96 dan yang lebih baruPromise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Promise di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.
removeFormData()
chrome.browsingData.removeFormData(
options: RemovalOptions,
callback?: function,
)
Mengosongkan data formulir yang disimpan di browser (isi otomatis).
Parameter
-
opsi
-
callback
fungsi opsional
Parameter
callback
terlihat seperti ini:() => void
Hasil
-
Promise<void>
Chrome 96 dan yang lebih baruPromise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Promise di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.
removeHistory()
chrome.browsingData.removeHistory(
options: RemovalOptions,
callback?: function,
)
Menghapus histori browser.
Parameter
-
opsi
-
callback
fungsi opsional
Parameter
callback
terlihat seperti ini:() => void
Hasil
-
Promise<void>
Chrome 96 dan yang lebih baruPromise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Promise di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.
removeIndexedDB()
chrome.browsingData.removeIndexedDB(
options: RemovalOptions,
callback?: function,
)
Menghapus data IndexedDB situs.
Parameter
-
opsi
-
callback
fungsi opsional
Parameter
callback
terlihat seperti ini:() => void
Hasil
-
Promise<void>
Chrome 96 dan yang lebih baruPromise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Promise di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.
removeLocalStorage()
chrome.browsingData.removeLocalStorage(
options: RemovalOptions,
callback?: function,
)
Menghapus data penyimpanan lokal situs.
Parameter
-
opsi
-
callback
fungsi opsional
Parameter
callback
terlihat seperti ini:() => void
Hasil
-
Promise<void>
Chrome 96 dan yang lebih baruPromise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Promise di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.
removePasswords()
chrome.browsingData.removePasswords(
options: RemovalOptions,
callback?: function,
)
Menghapus sandi yang disimpan di browser.
Parameter
-
opsi
-
callback
fungsi opsional
Parameter
callback
terlihat seperti ini:() => void
Hasil
-
Promise<void>
Chrome 96 dan yang lebih baruPromise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Promise di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.
removePluginData()
chrome.browsingData.removePluginData(
options: RemovalOptions,
callback?: function,
)
Dukungan untuk Flash telah dihapus. Fungsi ini tidak berpengaruh.
Menghapus data plugin.
Parameter
-
opsi
-
callback
fungsi opsional
Parameter
callback
terlihat seperti ini:() => void
Hasil
-
Promise<void>
Chrome 96 dan yang lebih baruPromise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Promise di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.
removeServiceWorkers()
chrome.browsingData.removeServiceWorkers(
options: RemovalOptions,
callback?: function,
)
Menghapus service worker situs.
Parameter
-
opsi
-
callback
fungsi opsional
Parameter
callback
terlihat seperti ini:() => void
Hasil
-
Promise<void>
Chrome 96 dan yang lebih baruPromise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Promise di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.
removeWebSQL()
chrome.browsingData.removeWebSQL(
options: RemovalOptions,
callback?: function,
)
Menghapus data WebSQL situs.
Parameter
-
opsi
-
callback
fungsi opsional
Parameter
callback
terlihat seperti ini:() => void
Hasil
-
Promise<void>
Chrome 96 dan yang lebih baruPromise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Promise di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.
settings()
chrome.browsingData.settings(
callback?: function,
)
Melaporkan jenis data yang saat ini dipilih di UI setelan 'Hapus data penjelajahan'. Catatan: beberapa jenis data yang disertakan dalam API ini tidak tersedia di UI setelan, dan beberapa setelan UI mengontrol lebih dari satu jenis data yang tercantum di sini.
Parameter
-
callback
fungsi opsional
Parameter
callback
terlihat seperti ini:(result: object) => void
-
hasil
objek
-
dataRemovalPermitted
Semua jenis tersebut akan ada dalam hasil, dengan nilai
true
jika diizinkan untuk dihapus (misalnya, oleh kebijakan perusahaan) danfalse
jika tidak. -
dataToRemove
Semua jenis akan ada dalam hasil, dengan nilai
true
jika keduanya dipilih untuk dihapus dan diizinkan untuk dihapus, jika tidak,false
. -
opsi
-
-
Hasil
-
Promise<object>
Chrome 96 dan yang lebih baruPromise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Promise di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.