JavaScript 実行時間

JavaScript ファイルが DOM のレンダリング完了前に実行される場合があります。これにより、DOM 要素にアクセスしようとしたときに、要素が存在しないというエラーが発生する問題が生じます。現時点では、実行を 0.5 秒遅延させるために setTimeout メソッドを使用していますが、これは良い解決策でも良い方法でもありません。

そこで、DOM が完全に生成された場合にのみ JavaScript ファイルを実行するように変更するにはどうすればよいか、という質問です。

不適切なフック、例えば $( document ).ready のようなものを使って拡張機能を構築した場合、それは予想されることです。

Discourse は EmberJS アプリケーションなので、拡張機能はそれを考慮に入れ、アプリの既存のフックに接続する必要があります。それについては、Developing Discourse Themes & Theme Components で学習できます。

「いいね!」 4

@Falco ご返信ありがとうございます。確認して、うまくいったかどうかお知らせします。

「いいね!」 2