0

車両の画像を読み込むため、または利用できない場合は代替画像を読み込むために、次のJavaScript関数を作成しました。問題は、このページが1kbであるのに対し、この1つの関数のためだけにjqueryライブラリ全体を85+kbでロードする必要があることです。だから私の質問は、jQueryライブラリをロードせずに同じことを達成する方法はありますか?

function GetImages() {
var Query = location.search;
//If query exists
if ((Query != "") && (Query != "?")){
var chunks = Query.split("=");
//If passed the right parameter
if (chunks[0] == "?unit") {
    var Unit = chunks[1];
    for (var i=1; i<11; i++) {
        var unitimageURL = "/pics/"+Unit+"-"+i+".png";
        $.ajax({
            type: 'HEAD',
            url: unitimageURL,
            async: false,

            success: function() {
                $('.pictures').append("<img src="+unitimageURL+" width=150 height=90 alt='Unit "+Unit+" Picture "+i+"'>&nbsp;");
                if ((i == 4) || (i ==8)) {
                $('.pictures').append("<br>");
                }

            },
            error: function() {

                $('.pictures').append("<img src=nopic2.png width=150 height=90 alt='Unit "+Unit+" Picture "+i+"'>&nbsp;");
                if ((i == 4) || (i ==8)) {
                $('.pictures').append("<br>");
                }
            }
        });
    }

}
}
else {
alert("No query");
}
}
4

1 に答える 1

0

はい、方法があります-古き良きvar oRequest = new XMLHttpRequest();方法です!必要なすべてのコールバックを設定し、応答ステータスを確認することを忘れないでください。すべてが正常になります。.open()HEADリクエストを作成するには、メソッドのパラメータとして「HEAD」を指定するだけです。

また、結果をページに追加する必要がありdocument.createElement()ます(または、.innerHTMLプロパティを使用することもできます。

また、このhttp://www.tutorialspoint.com/ajax/what_is_xmlhttprequest.htmのようなドキュメントが便利な場合があります。

于 2013-03-25T20:14:06.513 に答える