diff --git a/store.js b/store.js
index 6bf31aa..6530428 100644
--- a/store.js
+++ b/store.js
@@ -46,7 +46,14 @@ export class Buffer {
 		let obj = this.raw.load();
 		this.m = new Map(Object.entries(obj || {}));
 
-		this.save = debounce(this.save.bind(this), 500);
+		let saveImmediately = this.save.bind(this);
+		this.save = debounce(saveImmediately, 500);
+
+		document.addEventListener("visibilitychange", () => {
+			if (document.visibilityState === "hidden") {
+				saveImmediately();
+			}
+		});
 	}
 
 	key(buf) {