2012-03-05 4 views
9

openheatmapを作成するjavscriptファイルを作成しようとしています。私は2つの異なるjavascriptのsrcファイルを含める必要がありますが、私が現在行っていることは動作していません、これは私が今やっていることです。Javascript複数のスクリプトsrc

<html> 
<head> 

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script> 
<script src="http://static.openheatmap.com/scripts/jquery.openheatmap.js" type="text/javascript"></script> 

これを行うより良い方法はありますか?

+2

なぜ3番目の閉じられていない 'script'タグがありますか? – cambraca

+5

これは、複数のスクリプトを組み込む正しい方法です。問題の[短く、自己完結型の正しい例](http://sscce.org/)を投稿する方がよいでしょう。また、jQuery 1.4.2?あなたは古くからあると思いますか? – Phil

+0

3番目の終了スクリプトタグは、私の残りのJavaScriptコードがある3行の後に、私のファイルの最後にあります。はい、私はそれが古いバージョンであることに同意します。 – ewein

答えて

7

JavaScriptファイルを格納する方が良い方法です。特に、スクリプトがホストされていない場所では、ファイルの後半で行うことができます。これにより、外部リソースのロードをブロックすることなくページをロードできます。

したがって、すべてのスクリプトを終了タグbodyの直前に置くことをお勧めします。

defer属性(これはasync属性とは異なり、実行順序が保証されています)では、ページのレンダリングをブロックせずにスクリプトをロードしてスクリプトをロードすることもできます。

<script defer src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> 
    <script defer src="http://static.openheatmap.com/scripts/jquery.openheatmap.js"></script> 
    <script defer> 
     // JavaScript here... 
    </script> 
</body> 

また、DOMの準備ができたら実行するメソッドを指定するために延期属性でのonload属性を使用することができます。

<script defer onload="MyStuff.domLoaded();"> 

ご質問のその他の部分については、スクリプトが機能するかどうかについて、さらに詳しい情報をご提供ください。

関連する問題