0

すべてのjQuery関数を処理するjs.jsスクリプトがあります。ドキュメントの準備ができたら、次のように1つずつ呼び出します。

function 1(){}
function 2(){}

jQuery(document).ready(function($){ 
    function 1();
    function 2();
});

また、自分のWebサイトのタグ内で呼び出す外部JavaScriptもあります。

<script type="text/javascript" src="myscript"></script>

このスクリプトの問題は、外部のWebサイトからロードされ、場合によっては非常に遅く、Webサイト全体の速度が低下することです。

ドキュメントの準備ができたら、js.jsファイル内にロードできますか?関数2()の前に言いましょう?

何か案は?

4

3 に答える 3

6

あなたが探しているのは$.getScript(url)、まさにそれです。

于 2013-02-24T22:06:25.000 に答える
1

SLaksの回答の代わりに、JavaScriptファイルのインクルードを整理するためのライブラリを使用できます。多くのファイルと依存関係がある場合に役立ちます。

たとえば、 head.jsを見てください。

head
  .js("jquery.js", "selectivizr.js") // these are loaded in parallel
  .js("jquery-ui.js"); // this is loaded after the scripts above

head.ready(function() {
  jQuery(document).ready(function($) { 
    function1();
    head.js("other-script.js", function() {
      function2();
      // your code
    });
  });
});

function 1(){}
function 2(){}

より良い解決策は、すべてのjavascript機能を個別のファイルに整理し、headjsの読み込みを使用することです。

head
  .js("jquery.js", "selectivizr.js") // these are loaded in parallel
  .js("jquery-ui.js"); // this is loaded after the scripts above
  .js("app1.js"); // contains function1()
  .js("app2.js"); // contains function2()

head.ready(function() {
  jQuery(document).ready(function($) { 
    // your code
  });
});
于 2013-02-24T22:17:18.830 に答える
0

まず、HTMLページの最後のendタグ<script type="text/javascript" src="myscript"></script>の直前に必ずを配置してください。</body>

また、RequireJSを使用することもできます。これは、ページ全体が読み込まれた後でも、必要なときにjsファイルを非同期で読み込むことができるスクリプトです。Ajaxを介してスクリプトをロードし、ワークフローを手動で管理することで、自分でそれを行うことができますが、代わりにこの強力なスクリプトを使用することをお勧めします。

于 2013-02-24T22:10:49.980 に答える