2012-01-18 9 views
0

を使用して起動したとき、私はここにマニュアルWRITENを使用エラーが発生します。非同期JavaScriptの読み込みは、jQueryの

ので、ページ構造はなりfolowing:

<html><head> 

    //meta-tags, css-files loading... 
    array of JS files for async load (m) 
    code for async load 
    some links to js-files (like jquery.js) 

    </head><body> 

    //page content... 

    $(document).ready(function() { 
     all jQuery stuff 
    )}; 
</body></html> 

おそらくあります構造の中で何かが間違っているが、クロム15でページを開いたとき、私はなっていたこと、XXXは、これらのプラグインから機能しているObject [object Object] has no method 'XXX'、のようなエラーが出ますasyncroniouslyロードする。

BTW:IE9ではこの問題は発生していないようです。

答えて

1

問題は、スクリプトがロードされる前にdocument.readyの下のコードが実行されていなければならないことです。これはあなたのコードは、プラグインがロードされた後にのみ実行されていることを確認します

$.getScript('plugin-dependency.js', function(){ 
    //Do Stuff with the loaded plugin 
}); 

:あなたは$(ドキュメント).ready内jQueryのgetScriptを使用する必要があります。

More info about jQuery's getScript.

+0

私が何をし、各ファイルunside document.readyをロードする必要がある場合は、すべてのことasyncroniousものをですか? – shershen

+0

あなたのページは、テキストと画像で完全に読み込まれます。それ以降は、残りの依存関係を呼び出すつもりです。私たちは、ページの副次的なスタッフを検討します。それは最適化プロセスです。 –

+0

getScriptを使用して取得するすべてのスクリプトは非同期です。あなたの最初のコードの問題は、依存関係の前にいくつかのスクリプトをロードできることです。 –

関連する問題