1

なぜこれが機能するのかを理解しようとしています:

<script src="js/head.js"></script>
<script>head.js(<import-several-libraries-here>);</script>

<script src="code.jquery.com/jquery-1.8.3.js"></script>
<script src="code.jquery.com/ui/1.9.2/jquery-ui.js"></script>

<script>
    var j183 = $.noConflict(true);
</script>

しかし、これらはしません:

<script src="js/head.js"></script>

<script>
    head.js(<import-several-libraries-here>);
    head.js("http://code.jquery.com/jquery-1.8.3.js");
    head.js("http://code.jquery.com/ui/1.9.2/jquery-ui.js");

    var j183 = $.noConflict(true);
</script>

<script src="js/head.js"></script>

<script>
    head.js(<import-several-libraries-here>);
    head.js("http://code.jquery.com/jquery-1.8.3.js");
    head.js("http://code.jquery.com/ui/1.9.2/jquery-ui.js");
</script>

<script>
    var j183 = $.noConflict(true);
</script>

私はこれを読んでバリエーションを試しましたが、役に立ちませんでした:

HeadJS と jQuery の使用法

アップデート

私は提案された答えを試しました:

head.js("http://code.jquery.com/ui/1.9.2/jquery-ui.js");
head.js("http://code.jquery.com/jquery-1.8.3.js", function() {
            var j183 = $.noConflict(true);
        });

そしてそれはうまくいきませんでした。

4

2 に答える 2

1

http://headjs.com/によると

たぶん、2つのjQueryライブラリをロードするこのようなものを試してから、後で使用するためにjQueryライブラリをグローバル変数に再割り当てする無名関数を呼び出す必要があります。

<script src="js/head.js"></script>

<script>
    head.js(<import-several-libraries-here>);

    head.js("http://code.jquery.com/jquery-1.8.3.js", 
            "http://code.jquery.com/ui/1.9.2/jquery-ui.js", function() {

         window.j183 = $.noConflict(true);

         head.js(<import-several-libraries-here>, function(){
            init();
         });  //that depend on j183

    });

    function init(){
         var $ = window.j183;

         $('body').each(function(){
             //do something
         });

         j183('body').each(function(){
             //do something else
         });

    }
</script>

更新:ライブラリを初期化する方法を示します。

于 2013-01-12T00:25:45.027 に答える
1

コールバックで head.js を介して依存関係の読み込みに依存するコードを実行する必要があります。

head.js("/path/to/jquery.js", function() {

   var j183 = $.noConflict(true);

});
于 2013-01-12T00:12:48.183 に答える