Deskripsi
Gunakan chrome.browsingData
API untuk menghapus data penjelajahan dari profil lokal pengguna.
Izin
browsingData
Manifes
Anda harus mendeklarasikan "browsingData" izin di manifes ekstensi untuk menggunakan API ini.
{
"name": "My extension",
...
"permissions": [
"browsingData",
],
...
}
Penggunaan
Kasus penggunaan paling sederhana untuk API ini adalah mekanisme berbasis waktu untuk menghapus data penjelajahan pengguna.
Kode Anda harus memberikan stempel waktu yang menunjukkan tanggal historis setelah tanggal
data penjelajahan harus dihapus. Stempel waktu ini diformat sebagai jumlah milidetik sejak
Epoch Unix (yang dapat diambil dari objek Date
JavaScript melalui metode getTime
).
Misalnya, untuk menghapus semua data penjelajahan pengguna dari minggu lalu, Anda dapat menulis kode sebagai berikut ini:
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
panggilan tunggal, 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), 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 mereka, chrome.browsingData.remove
dapat membuat ulang cookie secara otomatis
untuk akun Sinkronisasi setelah menghapusnya. Hal ini untuk memastikan bahwa Sinkronisasi dapat terus berfungsi, sehingga
data dapat terhapus di server. Namun, semakin spesifik
chrome.browsingData.removeCookies
dapat digunakan untuk menghapus cookie untuk akun Sinkronisasi dan Sinkronisasi
dalam kasus ini akan
dijeda.
Asal Tertentu
Untuk menghapus data untuk origin tertentu atau mengecualikan sekumpulan origin dari penghapusan, Anda dapat menggunakan
Parameter RemovalOptions.origins
dan RemovalOptions.excludeOrigins
. Kebijakan ini hanya dapat diterapkan pada
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
asalnya harus diterapkan. Saat ini, origin dibagi menjadi tiga kategori:
unprotectedWeb
mencakup kasus umum situs yang dikunjungi pengguna tanpa melakukan tindakan khusus tindakan. Jika Anda tidak menentukanoriginTypes
, API akan secara default menghapus data dari web origin.protectedWeb
mencakup origin web yang telah diinstal sebagai aplikasi yang dihosting. Menginstal Angry Birds, misalnya, melindungihttps://chrome.angrybirds.com
asal, dan menghapusnya dari kategoriunprotectedWeb
. Hati-hati saat memicu penghapusan data untuk origin ini: pastikan pengguna mengetahui apa yang mereka dapatkan, karena hal ini akan terus-menerus menghapus data game mereka. Tidak ada yang mau mengetuk rumah babi kecil lebih sering dari yang diperlukan.extension
mencakup origin pada skemachrome-extensions:
. Menghapus data ekstensi adalah sekali lagi, Anda 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 chrome-extension-samples repositori resource.
Jenis
DataTypeSet
Kumpulan jenis data. Jenis data yang tidak ada akan ditafsirkan sebagai false
.
Properti
-
{i>appcache<i}
boolean opsional
Situs appcaches.
-
cache
boolean opsional
Cache browser.
-
cacheStorage
boolean opsional
Chrome 72 dan yang lebih baruPenyimpanan cache
-
cookie
boolean opsional
Cookie browser.
-
download
boolean opsional
Daftar download browser.
-
fileSystems
boolean opsional
Situs sistem file.
-
formData
boolean opsional
Data formulir yang disimpan oleh browser.
-
sejarah
boolean opsional
Histori browser.
-
indexedDB
boolean opsional
Situs Data tensorflow.
-
localStorage
boolean opsional
Situs data penyimpanan lokal.
-
sandi
boolean opsional
Sandi tersimpan.
-
pluginData
boolean opsional
Tidak digunakan lagi sejak Chrome 88Dukungan untuk Flash telah dihapus. Jenis data ini akan diabaikan.
Plugin layanan otomatis dan data skalabel.
-
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
Situs Data WebSQL.
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 "un dilindungi" origin. Pastikan Anda benar-benar ingin menghapus data aplikasi sebelum menambahkan ' protectedWeb' atau 'ekstensi'.
-
ekstensi
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[]] opsional
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
-
Janji<void>
Chrome 96 dan yang lebih baruPromise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain perlu menggunakan callback.
removeAppcache()
chrome.browsingData.removeAppcache(
options: RemovalOptions,
callback?: function,
)
Menghapus situs data appcache.
Parameter
-
opsi
-
callback
fungsi opsional
Parameter
callback
terlihat seperti ini:() => void
Hasil
-
Janji<void>
Chrome 96 dan yang lebih baruPromise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain perlu menggunakan callback.
removeCache()
chrome.browsingData.removeCache(
options: RemovalOptions,
callback?: function,
)
Menghapus cache browser.
Parameter
-
opsi
-
callback
fungsi opsional
Parameter
callback
terlihat seperti ini:() => void
Hasil
-
Janji<void>
Chrome 96 dan yang lebih baruPromise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain perlu menggunakan callback.
removeCacheStorage()
chrome.browsingData.removeCacheStorage(
options: RemovalOptions,
callback?: function,
)
Menghapus situs data penyimpanan cache.
Parameter
-
opsi
-
callback
fungsi opsional
Parameter
callback
terlihat seperti ini:() => void
Hasil
-
Janji<void>
Chrome 96 dan yang lebih baruPromise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain perlu menggunakan 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
-
Janji<void>
Chrome 96 dan yang lebih baruPromise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain perlu menggunakan 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
-
Janji<void>
Chrome 96 dan yang lebih baruPromise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain perlu menggunakan callback.
removeFileSystems()
chrome.browsingData.removeFileSystems(
options: RemovalOptions,
callback?: function,
)
Menghapus situs data sistem file.
Parameter
-
opsi
-
callback
fungsi opsional
Parameter
callback
terlihat seperti ini:() => void
Hasil
-
Janji<void>
Chrome 96 dan yang lebih baruPromise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain perlu menggunakan 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
-
Janji<void>
Chrome 96 dan yang lebih baruPromise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain perlu menggunakan callback.
removeHistory()
chrome.browsingData.removeHistory(
options: RemovalOptions,
callback?: function,
)
Menghapus histori browser.
Parameter
-
opsi
-
callback
fungsi opsional
Parameter
callback
terlihat seperti ini:() => void
Hasil
-
Janji<void>
Chrome 96 dan yang lebih baruPromise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain perlu menggunakan callback.
removeIndexedDB()
chrome.browsingData.removeIndexedDB(
options: RemovalOptions,
callback?: function,
)
Menghapus situs Data tensorflow.
Parameter
-
opsi
-
callback
fungsi opsional
Parameter
callback
terlihat seperti ini:() => void
Hasil
-
Janji<void>
Chrome 96 dan yang lebih baruPromise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain perlu menggunakan callback.
removeLocalStorage()
chrome.browsingData.removeLocalStorage(
options: RemovalOptions,
callback?: function,
)
Menghapus situs data penyimpanan lokal.
Parameter
-
opsi
-
callback
fungsi opsional
Parameter
callback
terlihat seperti ini:() => void
Hasil
-
Janji<void>
Chrome 96 dan yang lebih baruPromise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain perlu menggunakan 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
-
Janji<void>
Chrome 96 dan yang lebih baruPromise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain perlu menggunakan callback.
removePluginData()
chrome.browsingData.removePluginData(
options: RemovalOptions,
callback?: function,
)
Dukungan untuk Flash telah dihapus. Fungsi ini tidak berpengaruh.
Hapus plugin layanan otomatis dan data skalabel.
Parameter
-
opsi
-
callback
fungsi opsional
Parameter
callback
terlihat seperti ini:() => void
Hasil
-
Janji<void>
Chrome 96 dan yang lebih baruPromise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain perlu menggunakan callback.
removeServiceWorkers()
chrome.browsingData.removeServiceWorkers(
options: RemovalOptions,
callback?: function,
)
Menghapus situs pekerja layanan.
Parameter
-
opsi
-
callback
fungsi opsional
Parameter
callback
terlihat seperti ini:() => void
Hasil
-
Janji<void>
Chrome 96 dan yang lebih baruPromise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain perlu menggunakan callback.
removeWebSQL()
chrome.browsingData.removeWebSQL(
options: RemovalOptions,
callback?: function,
)
Menghapus situs Data WebSQL.
Parameter
-
opsi
-
callback
fungsi opsional
Parameter
callback
terlihat seperti ini:() => void
Hasil
-
Janji<void>
Chrome 96 dan yang lebih baruPromise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain perlu menggunakan callback.
settings()
chrome.browsingData.settings(
callback?: function,
)
Melaporkan jenis data mana yang saat ini dipilih di 'Hapus data penjelajahan' UI setelan. 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 hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain perlu menggunakan callback.