[英]Remove all client-side stored data on website using JavaScript
客戶端數據可以以多種不同方式存儲(cookies、localStorage、授予權限等)。 在我的網站上,我希望有一個“清除數據”按鈕,當用戶單擊該按鈕時,我想刪除所有客戶端存儲的數據,因此沒有用戶在客戶端計算機上訪問過我的網站的痕跡。 web 瀏覽器是否包含 API ? (如果是這樣,我該如何使用它?)或者我是否必須使用每個與存儲相關的 API 並告訴每個人刪除它存儲的數據?
您可以調用 API 並在HTTP
響應的 header 中添加Clear-Site-Data:"*"
。 你可以在這里找到更多信息
如果您想使用javascript
代碼處理它,這可能會對您有所幫助
sessionStorage.clear()
localStorage.clear()
caches.keys().then(keys => {
keys.forEach(key => caches.delete(key))
})
indexedDB.databases().then(dbs => {
dbs.forEach(db => indexedDB.deleteDatabase(db.name))
})
document.cookie = document.cookie.split(';').reduce((newCookie1, keyVal) => {
var pair = keyVal.trim().split('=')
if (pair[0]) {
if (pair[0] !== 'path' && pair[0] !== 'expires') {
newCookie1 += pair[0] + '=;'
}
}
return newCookie1
}, 'expires=Thu, 01 Jan 1970 00:00:00 UTC; path:/;')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.