3

JavaScrupt でアップロード ライブラリをコーディングしようとしているときに、IE 11 で奇妙な問題が発生しました。

XMLHttpRequest 2 を使用すると、ファイルをアップロードして進行状況を取得できます。ただし、webworker で実行しようとしても、IE 11 からは何の進歩もありません (私はこのバージョンだけを試しました)。同じコードでエラーが発生します。

ここに例があります:

worker.js

self.addEventListener("message", function(e) {

    var file = e.data;

    var xhr = new XMLHttpRequest();
    if (xhr.upload)
       xhr.upload.onprogress = function(event){
          // here we get the progression through event.loaded
    };

    xhr.open('POST', '/upload.php', true);
    xhr.send(file);

});

main.js

var uploadworker = new Worker('worker.js');
uploadworker.postMessage( file );

このコードを直接使用すると、どのブラウザーでも機能します。Webworker で使用すると、IE11 では動作しません。実際には、行に「無効な引数」if (xhr.upload) が表示されます。WebworkerでXMLHttpRequestが使用されている場合、IE11にはこのプロパティが設定されていないようです。

なぜこれが起こるのか誰にも分かりますか?

4

1 に答える 1