3
                $("#register").click(function()
                {
                     yepnope({
                          load: ['js/join.js', 'css/join.css',  'css/join_form.css'],
                     });

                     $('#midcol').load('join.htm');             
                });

登録リンクをクリックすると、yepnope は期待どおりにリストされたファイルをロードします。登録リンクが 2 回目、3 回目、4 回目などとクリックされると、yepnope は次のエラーをスローします

ファイルが存在しない場合にのみ、yepnope がファイルをロードするという印象を受けましたか? yepnope でロードするすべてのファイルに対してチェックを実行する必要がありますか? もしそうなら、それは少し気が遠くなるように思えます。

Web で HOURS を検索しているときに、問題の解決策が見つかりませんでした。しかし、私は CURL.js に出くわしました。フットプリントがかなり小さいです。問題なく依存関係を読み込むことができました。以下は、依存関係をロードするコードの例です。

var cnf = {
     baseUrl: 'scripts',
     pluginPath: 'curl/plugin',
     paths: {
          curl: 'curl/src/curl',
     },
};

curl(cnf, ['js!join.js!order', 'domReady!'], function () {
     $("#register").click(function(){
          $("#midcol").load("join.htm");    
     });
});
4

1 に答える 1

1

私の経験では、スクリプトが 2 回読み込まれる可能性がある場合は、チェックを実行する必要があります。それは私にはかなり珍しいケースのようです。

私が現在取り組んでいるサイトでは、AJAX を介してロードされ、それぞれに独自のスクリプト セットがあるいくつかのセクションをユーザーが切り替えたときに、この状況に遭遇しました。ユーザーはどちらのセクションを先にロードしてもかまいません。

スクリプトをモジュールとしてセットアップしているので、これを行うのは非常に簡単です。

// Section A loaded
yepnope([{
    test: window.One,
    nope: 'js/One.js'
},{
    test: window.Two,
    nope: 'js/Two.js'
}]);

// Section B loaded
yepnope([{
    test: window.One,
    nope: 'js/One.js'
},{
    test: window.Three,
    nope: 'js/Three.js'
}]);

これを自動的にロード処理する方がはるかに便利であることは間違いありません。

于 2012-03-18T22:31:52.773 に答える