2
試圖代碼JavaScrupt上傳庫我的IE 11IE 11的XMLHttpRequest,xhr.upload沒有設置在Webworker
有一個奇怪的問題結束了使用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似乎沒有這個屬性集。
有人有一個想法,爲什麼發生這種情況?
您是否完全使用此代碼?當你在webworker中使用它時,xhr是否被聲明在錯誤的範圍內?你能展示完整的(er)代碼,包括webworker嗎? – GolezTrol
不好實施? – Kaiido
是GolezTrol它是確切的代碼。我更新了我的文章,詳細介紹了我的實現。 –