0

ブロブが取り込まれている配列があり (正常に動作します)、ブロブを取得したらすぐにブロブ画像に変換したいと考えています。

(function(index) {

    images[index] = new Image();

    xhr.onload = function() {

        blobs[index] = new Blob([this.response], {type: 'image/png'});

        console.log(index + " loaded.");
        console.log(blobs[index]); // It works as expected.

        (function(b) {

            var img = window.URL.createObjectURL(b); // window.URL is undefined.
            console.log(img); // Failed.

        })(blobs[index]);

    };

})(i);

の直後に無名関数が呼び出されずconsole.log、エラーがスローされます。

TypeError: window.URL が定義されていません

私はすでにwindow.URLを備えている Firefox 17 を使用しているので、それは問題ではありません。実際、この関数の外で window.URL を使用できます。

編集:値のない URL というグローバル スコープ変数があったため、window.URL はそれを参照しました。(評判が悪いので自答できません)

4

2 に答える 2

1

値のない URL というグローバル スコープ変数があったため、window.URL はそれを参照していました。

于 2013-01-10T22:34:49.707 に答える
0

パラメータの値をチェックして、b実際に値があることを確認する必要があると思います。そうではないため、window.URL構築中に未定義になると思われます。

あなたがこれに慣れていないように聞こえるので、ここに座ってデバッグ方法を説明することはしませんが、ここで見ることができるコードから、あなたのコードは期待どおりに見えます。

注: Mark Dee が言ったことも非常に有効なオプションです。ドキュメントの準備ができていることを確認してから、関数を試して、これが役立つかどうかを確認してください。

jQuery

$(document).ready(function() {
   //CODE HERE
});

古い JavaScript

window.onload = function ()
{
    //CODE HERE
}
于 2013-01-05T12:33:28.087 に答える