window.onpageshowは、ページが表示されたタイミングで発火するイベント
特にブラウザの戻るボタン(戻るキャッシュ: bfcache)から戻った時にも確実に動くというメリットがあります。
表示されたタイミングなのでページロード時にも発火する
戻るボタンの時だけにするには以下に変更する
例)javascript版
window.addEventListener("pageshow", function(event) {
if (event.persisted) {
// ← ここだけ実行される
console.log("bfcacheから復帰したときだけ発火");
}
});
例)jQuery版
$(window).on("pageshow", function(event) {
if (event.originalEvent.persisted) {
console.log("bfcacheから復帰(通常ロードは無視)");
}
});