Skip to content

Commit fed3a35

Browse files
committed
perf(tpl): save filter on pagehide trigged
Save filter on `pagehide` will make it possible to let browser use bfcache. See also: https://web.dev/bfcache/
1 parent 84008f4 commit fed3a35

File tree

2 files changed

+6
-2
lines changed

2 files changed

+6
-2
lines changed

src/tpl/asset/main.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,11 +101,14 @@
101101
if (sessionStorage) {
102102
var prevSessionFilter = sessionStorage.getItem(location.pathname);
103103
sessionStorage.removeItem(location.pathname);
104-
window.addEventListener('beforeunload', function () {
104+
105+
var leavingEvent = typeof window.onpagehide !== 'undefined' ? 'pagehide' : 'beforeunload';
106+
window.addEventListener(leavingEvent, function () {
105107
if (input.value) {
106108
sessionStorage.setItem(location.pathname, input.value);
107109
}
108110
}, false);
111+
109112
if (prevSessionFilter) {
110113
input.value = prevSessionFilter;
111114
}

src/tpl/asset/main.js.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,8 @@ break;
9393
if (sessionStorage) {
9494
var prevSessionFilter = sessionStorage.getItem(location.pathname);
9595
sessionStorage.removeItem(location.pathname);
96-
window.addEventListener('beforeunload', function () {
96+
var leavingEvent = typeof window.onpagehide !== 'undefined' ? 'pagehide' : 'beforeunload';
97+
window.addEventListener(leavingEvent, function () {
9798
if (input.value) {
9899
sessionStorage.setItem(location.pathname, input.value);
99100
}

0 commit comments

Comments
 (0)