IE11でのonload / onpageshowイベント
ブラウザバック時の制御をしたくてonpageshowイベントを設定してるのに、いつも通りIE11だけ言うことをきかない。発火したり、しなかったり挙動が不安定。
本当はIEなんて無視したいんだけど、依頼主がIE使ってるからしょうがない。
ググってみたところ、ようやく以下のページを発見。
月間ぬにふちさか
IEでjQueryのwindow loadが動かない
この情報はonloadイベントだけど、onpageshowイベントにも同じことが言えそう。
$(() => {
$(window).on('pageshow', () => {
// 動作したりしなかったり
});
});
$(() => {
// document ready
});
$(window).on('pageshow', () => {
// 動作したー!!!
});
jQueryのバージョンが3.0以上の場合は、document readyの中にwindow load / pageshowを書かないように、との事。IE以外では動作してたけど、きっとこっちの方がいいんだろう。
何でもかんでもdocument readyの中に書いちゃいがちだけど、勉強になりました。
コメント0