簡體   English   中英

使用 JavaScript 刪除網站上的所有客戶端存儲數據

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM