0

JS リンクをフッターに配置することを常にお勧めします (たとえば、こちらを参照) 。PHPページの典型的な例は

include 'header.php'
Page Content
include 'footer.php'

Page Contentフッターに jQuery ライブラリをロードしながら、カスタム jQuery コードを特定のページに追加します。jQueryコードの前にjQueryライブラリをロードする必要があるため、これは問題を引き起こします。

質問 1:どのように jQuery ライブラリをフッターに配置し、対応する各ケースにカスタム コードを配置しますか?

考えられる解決策の 1 つは、すべての jQuery コード (すべての Web サイト ページの) をフッターに含めることです。この場合、インライン JavaScript の代わりに、すべての jQuery コードを JS ファイルに追加できます。これは次のようなものになります

$(document).ready(function(){
$('.div1').click ....
$('.div2').click ....
.....
$('.div99').click ....

質問 2:各ページで、JS は現在のページに存在しない DOM 要素の可能性のあるイベントをリッスンする必要があるため、JavaScript プロセスが遅くなりませんか? たとえば、JS は 99 個の DIV を処理する必要がありますが、各ページにはいくつかの DIV があります。

4

2 に答える 2

0

JS をできるだけ遅く、できれば 1 つのファイルからロードする必要があります。モダナイザーのようなものを使用している場合でも、頭に入れる必要があります。

jQuery の延期に関する限り、@samsaffron はかなり決定的な投稿を書きました - http://samsaffron.com/archive/2012/02/17/stop-paying-your-jquery-tax

于 2012-05-22T17:38:59.203 に答える
0

質問 1 への回答 標準的な方法は、大きなスクリプトを独自のファイルに配置し、スクリプト タグをヘッダーに含めることです。$(document).ready を呼び出している限り、そのスクリプトはドキュメントが読み込まれたときにのみ実行されるため、パフォーマンスに影響はありません。

JS をフッターに配置する意図は、ページ全体がロードされた後に実行されるようにすることでしたが、これは body onload イベントでは不要になりました。

どうしても JS をフッターに残したい場合は、読み込みたいスクリプト名でページ変数を作成し、それをフッター スクリプトに渡すだけの簡単な作業です。

質問 2 への回答 いいえ、ページの速度は低下していません。一致するタグが見つからない場合、jquery はイベントをバインドしません。ページに 99 個の div がある場合でも、イベントは参照によって格納され、呼び出された DOM アイテムとそのイベントのみが発生するため、パフォーマンス ヒットにはなりません。

于 2012-05-21T13:34:49.300 に答える