HTML内のJavaScriptの順序
-
25-10-2019 - |
質問
JavaScript ファイルに問題があります。一部のスクリプトは、HTML ファイルでの順序付けの方法によっては機能しません。ここでは、私が何を意味するかを示すためだけにデモを示します。http://testground.uphero.com/test/
ソースを見るとわかるように、次のとおりです。
<script type="text/javascript" src="js/prototype.js"></script>
<script type="text/javascript" src="js/scriptaculous.js?load=effects,builder"></script>
<script type="text/javascript" src="js/lightbox.js"></script>
<script src="http://code.jquery.com/jquery-1.4.4.js" type="text/javascript"></script>
<script type="text/javascript" src="js/grayscale.img.js"></script>
この順序でタグを配置すると、グレースケール画像は機能しますが、ライトボックスは機能しませんが、jqueryリンクを上部に移動すると、グレースケールは機能しなくなりますが、ライトボックスは機能します。
したがって、私が望むのは、両方を機能させることです。何か方法はありますか?前もって感謝します!:-)
解決
私が私のコメントで言ったように:2つのフレームワークを使用しないようにするために、しかし:
本当に両方を使用する必要がある場合は、FireBug(または他のブラウザに似たもの)を使用して、結果のJavaScriptエラーを確認する必要があります。他の。
を見てください jQueryドキュメント これの詳細については。
他のヒント
あなたの問題は、Prototype と jQuery で使用される名前空間との競合が原因である可能性があります。両方とも参照します。 $
名前空間へのショートカットとして。両方のライブラリを一緒に使用しようとすると、必然的に競合が発生します。
この問題を回避する方法を含む、他のライブラリでの jQuery の使用に関する役立つ記事を次に示します。
http://docs.jquery.com/Using_jQuery_with_Other_Libraries
ただし、使用しているプラグインが各ライブラリの正しいスコープ内で参照されていることを確認し、正しく動作するように注意する必要があります。可能であれば、ライブラリを 1 つだけ使用することに固執する方が賢明です (jQuery で使用できるライトボックス クローンは多数あります)。