0

loadイベントにアタッチする必要があるレガシーHTML/JSコードを使用しています。

私が使用しているスクリプトは<head>タグの外にあります。

頭の外でリッスンしているイベントをアタッチするときに、ロードイベントをリッスンすることは信頼できませんか?

つまり、ページがすでに読み込まれ、イベントリスナーを無視している可能性はありますか?

私のテストでは、イベントリスナーは正常に起動されますが、これが常に当てはまるかどうかは確認できます。

ところで。レガシーの性質のため、jQueryの使用を避ける必要があります(不幸な日)。

4

1 に答える 1

2

ヘッドの外側でリッスンしているイベントをアタッチするときに、ロードイベントをリッスンしていると信頼できません

いいえ、文字通りについて話している場合は違いますwindow.onloadwindow.onloadHTML全体が解析された後(および画像やスタイルシートなどの外部リソースが完全にロードされた後)、プロセスの非常に遅い段階で発生します。大丈夫なはずです。

ややトピックから外れていますが、jQueryを使用しなくても、必要に応じて、より早く信頼できる呼び出しを取得できます。</body>終了タグの直前にこれを配置します。

<script type='text/javascript'>
    myLoadFunction();
</script>
</body>

その時点で、DOMは確実に使用可能ですが、呼び出しは(外部リソースのサイズによっては、場合によっては数秒早く)よりもはるかに早く発生します。window.onloadGoogleのJavaScriptの専門家は、まさにこの理由から、jQueryスタイルの「準備完了」イベント(上記のリンクを参照)の必要性に反対しています。一部の「控えめなJavaScript」の人々はそれを嫌います(ただし、関数がアプリ全体で標準化されていれば、scriptタグをに入れるのと実質的に違いはありません。属性をあちこちに散らかすようなものではありません)。あなたが継承したこのコードの場合、その船はすでに出航しています。;-)headonclick

于 2010-11-04T14:21:17.253 に答える