1

特定のタイプの DOM オブジェクトがロード/レンダリングされた直後に適用されるスクリプトを追加したいと考えています。このタイプのオブジェクトは常に javascript スクリプトと一緒に来るので、これらをいくつかのタグ内にまとめたいと考えています。以下のようにしてもよろしいでしょうか?もしそうなら、span内部の要素が表示される方法と相互作用する可能性があるため、ここで使用するのに最適なタグではないと思います. どのタグを使用すればよいですか?

<span>
  <div>the dom object to be modified by the script</div>
  <script>theJavascriptFunctionThatModifiesTheDomObject()</script>
</span>
4

3 に答える 3

1

次の理由により、特定の要素が DOM によって読み込まれた直後にスクリプトを読み込むには、これが最善の方法ではないと思います。

  • ページの読み込みが遅くなります。
  • ユーザーは個別の方法で完全なページを表示します。

代わりにこれを行う必要があります:-

  • 要素にセレクターを指定します。
  • 本文の最後に単一の JavaScript コードを含めます。
  • そのスクリプトを使用して DOM 要素を更新します。

編集: 解決策 1: JS を body の最後に追加して、すべての DOM 要素にアクセスできるようにします。ajax を使用して DOM に要素を挿入しているため、DOM の要素を変更する XHR オブジェクトの成功ハンドラーを定義できます。

解決策 2: JS で別のメソッドを定義し、このメソッドを何らかのイベントにバインドできます。HTML マークアップで data-event 属性を定義し、success ハンドラーで要素を DOM に追加し、jquery データ メソッドを使用して data-event を抽出し、そのイベントをトリガーします。

少なくとも、マークアップをスクリプト ロジックから遠ざけることができます。

いくつかの便利なリンク:

ウェブサイトを高速化するためのベスト プラクティス - yahoo

最後にスクリプトをロードする必要がある理由 - SO Link

于 2013-04-12T12:42:09.493 に答える