Deskripsi
Gunakan chrome.browsingData API untuk menghapus data penjelajahan dari profil lokal pengguna.
Izin
browsingDataManifes
Anda harus mendeklarasikan izin "browsingData" 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 data penjelajahan pengguna 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:
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 mudah 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 datanya, chrome.browsingData.remove dapat otomatis membangun ulang cookie
untuk akun Sinkronisasi setelah menghapusnya. Hal ini dilakukan untuk memastikan bahwa Sinkronisasi dapat terus berfungsi, sehingga data dapat dihapus di server pada akhirnya. Namun, chrome.browsingData.removeCookies yang lebih spesifik dapat digunakan untuk menghapus cookie akun Sinkronisasi, dan Sinkronisasi akan dijeda dalam kasus ini.
Asal Spesifik
Untuk menghapus data untuk asal tertentu atau mengecualikan sekumpulan asal dari penghapusan, Anda dapat menggunakan parameter
RemovalOptions.origins dan RemovalOptions.excludeOrigins. Kebijakan 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 Asal
Menambahkan properti originTypes ke objek opsi API memungkinkan Anda menentukan jenis asal yang harus terpengaruh. Saat ini, origin dibagi menjadi tiga kategori:
- unprotectedWebmencakup kasus umum situs yang dikunjungi pengguna tanpa melakukan tindakan khusus. Jika Anda tidak menentukan- originTypes, API akan menghapus data dari asal web yang tidak dilindungi secara default.
- protectedWebmencakup asal web yang telah diinstal sebagai aplikasi yang dihosting. Misalnya, menginstal Angry Birds akan melindungi origin- https://chrome.angrybirds.com, dan menghapusnya dari kategori- unprotectedWeb. Berhati-hatilah saat memicu penghapusan data untuk asal ini: pastikan pengguna Anda mengetahui apa yang mereka dapatkan, karena tindakan ini akan menghapus data game mereka secara permanen. Tidak ada yang ingin merobohkan rumah babi kecil lebih sering dari yang diperlukan.
- extensionmencakup origin dalam skema- chrome-extensions:. Menghapus data ekstensi adalah sesuatu yang harus Anda lakukan dengan sangat hati-hati.
Kita dapat menyesuaikan contoh sebelumnya untuk menghapus hanya 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 browsingData API dari repositori chrome-extension-samples.
Jenis
DataTypeSet
Kumpulan jenis data. Jenis data yang tidak ada diinterpretasikan sebagai false.
Properti
- 
    appcacheboolean opsional Appcache situs. 
- 
    cacheboolean opsional Cache browser. 
- 
    cacheStorageboolean opsional Chrome 72+Penyimpanan cache 
- 
    cookieboolean opsional Cookie browser. 
- 
    downloadboolean opsional Daftar download browser. 
- 
    fileSystemsboolean opsional Sistem file situs. 
- 
    formDataboolean opsional Data formulir yang disimpan browser. 
- 
    sejarahboolean opsional Histori browser. 
- 
    indexedDBboolean opsional Data IndexedDB situs. 
- 
    localStorageboolean opsional Data penyimpanan lokal situs. 
- 
    sandiboolean opsional Sandi tersimpan. 
- 
    pluginDataboolean opsional Tidak digunakan lagi sejak Chrome 88Dukungan untuk Flash telah dihapus. Jenis data ini akan diabaikan. Data plugin. 
- 
    serverBoundCertificatesboolean opsional Tidak digunakan lagi sejak Chrome 76Dukungan untuk sertifikat terikat server telah dihapus. Jenis data ini akan diabaikan. Sertifikat terikat server. 
- 
    serviceWorkersboolean opsional Service Worker. 
- 
    webSQLboolean opsional Data WebSQL situs. 
RemovalOptions
Opsi yang menentukan secara tepat data yang akan dihapus.
Properti
- 
    excludeOriginsstring[] opsional Chrome 74+Jika ada, data untuk origin dalam daftar ini tidak akan dihapus. Tidak dapat digunakan bersama dengan origins. Hanya didukung untuk cookie, penyimpanan, dan cache. Cookie dikecualikan untuk seluruh domain yang dapat didaftarkan.
- 
    originTypesobjek opsional Objek yang propertinya menentukan jenis asal yang harus dihapus. Jika objek ini tidak ditentukan, defaultnya adalah menghapus hanya asal "tidak terlindungi". Pastikan Anda benar-benar ingin menghapus data aplikasi sebelum menambahkan 'protectedWeb' atau 'extensions'. - 
    Pemeriksaan Keselamatanboolean opsional Ekstensi dan aplikasi paket yang telah diinstal pengguna (berhati-hatilah _sungguh-sungguh_!). 
- 
    protectedWebboolean opsional Situs yang telah diinstal sebagai aplikasi yang dihosting (berhati-hatilah!). 
- 
    unprotectedWebboolean opsional Situs normal. 
 
- 
    
- 
    asal[string, ...string[]] opsional Chrome 74+Jika ada, hanya data untuk asal di daftar ini yang dihapus. Hanya didukung untuk cookie, penyimpanan, dan cache. Cookie dihapus untuk seluruh domain yang dapat didaftarkan. 
- 
    sejaknomor opsional Menghapus data yang dikumpulkan pada atau setelah tanggal ini, yang ditampilkan dalam milidetik sejak epoch (dapat diakses melalui metode getTimeobjek JavaScriptDate). Jika tidak ada, nilai defaultnya adalah 0 (yang akan menghapus semua data penjelajahan).
Metode
remove()
chrome.browsingData.remove(
options: RemovalOptions,
dataToRemove: DataTypeSet,
callback?: function,
): Promise<void>
Menghapus berbagai jenis data penjelajahan yang disimpan di profil pengguna.
Parameter
- 
    opsi
- 
    dataToRemoveKumpulan jenis data yang akan dihapus. 
- 
    callbackfungsi opsional Parameter callbackterlihat seperti:() => void 
Hasil
- 
            Promise<void> Chrome 96+Promise hanya didukung untuk Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback. 
removeAppcache()
chrome.browsingData.removeAppcache(
options: RemovalOptions,
callback?: function,
): Promise<void>
Menghapus data appcache situs.
Parameter
- 
    opsi
- 
    callbackfungsi opsional Parameter callbackterlihat seperti:() => void 
Hasil
- 
            Promise<void> Chrome 96+Promise hanya didukung untuk Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback. 
removeCache()
chrome.browsingData.removeCache(
options: RemovalOptions,
callback?: function,
): Promise<void>
Menghapus cache browser.
Parameter
- 
    opsi
- 
    callbackfungsi opsional Parameter callbackterlihat seperti:() => void 
Hasil
- 
            Promise<void> Chrome 96+Promise hanya didukung untuk Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback. 
removeCacheStorage()
chrome.browsingData.removeCacheStorage(
options: RemovalOptions,
callback?: function,
): Promise<void>
Menghapus data penyimpanan cache situs.
Parameter
- 
    opsi
- 
    callbackfungsi opsional Parameter callbackterlihat seperti:() => void 
Hasil
- 
            Promise<void> Chrome 96+Promise hanya didukung untuk Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback. 
removeCookies()
chrome.browsingData.removeCookies(
options: RemovalOptions,
callback?: function,
): Promise<void>
Menghapus cookie browser dan sertifikat terikat server yang diubah dalam jangka waktu tertentu.
Parameter
- 
    opsi
- 
    callbackfungsi opsional Parameter callbackterlihat seperti:() => void 
Hasil
- 
            Promise<void> Chrome 96+Promise hanya didukung untuk Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback. 
removeDownloads()
chrome.browsingData.removeDownloads(
options: RemovalOptions,
callback?: function,
): Promise<void>
Menghapus daftar file yang didownload di browser (bukan file yang didownload itu sendiri).
Parameter
- 
    opsi
- 
    callbackfungsi opsional Parameter callbackterlihat seperti:() => void 
Hasil
- 
            Promise<void> Chrome 96+Promise hanya didukung untuk Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback. 
removeFileSystems()
chrome.browsingData.removeFileSystems(
options: RemovalOptions,
callback?: function,
): Promise<void>
Menghapus data sistem file situs.
Parameter
- 
    opsi
- 
    callbackfungsi opsional Parameter callbackterlihat seperti:() => void 
Hasil
- 
            Promise<void> Chrome 96+Promise hanya didukung untuk Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback. 
removeFormData()
chrome.browsingData.removeFormData(
options: RemovalOptions,
callback?: function,
): Promise<void>
Menghapus data formulir tersimpan (isi otomatis) browser.
Parameter
- 
    opsi
- 
    callbackfungsi opsional Parameter callbackterlihat seperti:() => void 
Hasil
- 
            Promise<void> Chrome 96+Promise hanya didukung untuk Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback. 
removeHistory()
chrome.browsingData.removeHistory(
options: RemovalOptions,
callback?: function,
): Promise<void>
Menghapus histori browser.
Parameter
- 
    opsi
- 
    callbackfungsi opsional Parameter callbackterlihat seperti:() => void 
Hasil
- 
            Promise<void> Chrome 96+Promise hanya didukung untuk Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback. 
removeIndexedDB()
chrome.browsingData.removeIndexedDB(
options: RemovalOptions,
callback?: function,
): Promise<void>
Menghapus data IndexedDB situs.
Parameter
- 
    opsi
- 
    callbackfungsi opsional Parameter callbackterlihat seperti:() => void 
Hasil
- 
            Promise<void> Chrome 96+Promise hanya didukung untuk Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback. 
removeLocalStorage()
chrome.browsingData.removeLocalStorage(
options: RemovalOptions,
callback?: function,
): Promise<void>
Menghapus data penyimpanan lokal situs.
Parameter
- 
    opsi
- 
    callbackfungsi opsional Parameter callbackterlihat seperti:() => void 
Hasil
- 
            Promise<void> Chrome 96+Promise hanya didukung untuk Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback. 
removePasswords()
chrome.browsingData.removePasswords(
options: RemovalOptions,
callback?: function,
): Promise<void>
Menghapus sandi tersimpan browser.
Parameter
- 
    opsi
- 
    callbackfungsi opsional Parameter callbackterlihat seperti:() => void 
Hasil
- 
            Promise<void> Chrome 96+Promise hanya didukung untuk Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback. 
removePluginData()
chrome.browsingData.removePluginData(
options: RemovalOptions,
callback?: function,
): Promise<void>
Dukungan untuk Flash telah dihapus. Fungsi ini tidak berpengaruh.
Menghapus data plugin.
Parameter
- 
    opsi
- 
    callbackfungsi opsional Parameter callbackterlihat seperti:() => void 
Hasil
- 
            Promise<void> Chrome 96+Promise hanya didukung untuk Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback. 
removeServiceWorkers()
chrome.browsingData.removeServiceWorkers(
options: RemovalOptions,
callback?: function,
): Promise<void>
Menghapus pekerja layanan situs.
Parameter
- 
    opsi
- 
    callbackfungsi opsional Parameter callbackterlihat seperti:() => void 
Hasil
- 
            Promise<void> Chrome 96+Promise hanya didukung untuk Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback. 
removeWebSQL()
chrome.browsingData.removeWebSQL(
options: RemovalOptions,
callback?: function,
): Promise<void>
Menghapus data WebSQL situs.
Parameter
- 
    opsi
- 
    callbackfungsi opsional Parameter callbackterlihat seperti:() => void 
Hasil
- 
            Promise<void> Chrome 96+Promise hanya didukung untuk Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback. 
settings()
chrome.browsingData.settings(
callback?: function,
): Promise<object>
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
- 
    callbackfungsi opsional Parameter callbackterlihat seperti:(result: object) => void - 
    hasilobjek - 
    dataRemovalPermittedSemua jenis akan ada dalam hasil, dengan nilai truejika diizinkan untuk dihapus (misalnya, oleh kebijakan perusahaan) danfalsejika tidak.
- 
    dataToRemoveSemua jenis akan ada dalam hasil, dengan nilai truejika keduanya dipilih untuk dihapus dan diizinkan untuk dihapus, ataufalse.
- 
    opsi
 
- 
    
 
- 
    
Hasil
- 
            Promise<object> Chrome 96+Promise hanya didukung untuk Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback.