Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Xóa localStorage khi đóng tab/trình duyệt

Dùng event window.onunload (hoặc beforeunload) để clear localStorage khi tab/window đóng.

Ví dụ

window.onunload = () => {
  window.MyStorage.clear(); // MyStorage là wrapper localStorage
};

Lưu ý quan trọng

  • unload **không reliable** trên mobile (iOS Safari kill tab không fire unload).
  • beforeunload cũng không đảm bảo chạy xong async operation.
  • localStorage **persistent** — không tự xóa khi đóng tab (khác sessionStorage).

Giải pháp tốt hơn

  • Dùng **sessionStorage** thay localStorage — tự xóa khi tab đóng (session end).
  • Nếu bắt buộc localStorage: accept data tồn tại, hoặc dùng beforeunload sync clear (không async).
  • Service Worker + IndexedDB cho offline-first, kontrol tốt hơn lifecycle.