• Resolved ifollowjp

    (@ifollowjp)


    メニューなどが動作しないケースがあり調べていたのですが main.js の読み込みが(極端に)遅かった場合などに、 DOMContentLoaded イベントが終了した後に window.addEventListener('DOMContentLoaded', ...) とやっているため、イベントが発火されないことが分かりました。

    具体的には、下記の7か所のようです。

    • vk-mobile-nav.js
      • vk_mobile_nav_run
      • vk_menu_acc_run
      • モバイルか判定して処理しているクロージャ
    • _master.js
      • bodyClassscroll イベントでも実行されるので実質問題はない
      • スクロールでヘッダを操作するクロージャ
      • header_scrool_funcscroll イベントでも実行されるので実質問題ない
      • iframe_responsiveresize イベントでも実行されるがウィンドウサイズを変更するまでiframeのサイズがイマイチなケースがある

    document ではなく windowDOMContentLoaded イベントをハンドリングしていることに意味があるのであれば別ですが、可能であれば document.readyState で判定して loading でなければ初期化処理を即時実行するようにしていただけると嬉しいです。

    See: MDN 読み込みが完了しているかどうかのチェック

Viewing 3 replies - 1 through 3 (of 3 total)
Viewing 3 replies - 1 through 3 (of 3 total)
  • The topic ‘DOMContentLoaded is complete’ is closed to new replies.