jQuery を使用した現在の AJAX アプリケーションは次のようになります (簡略化)。
$.ajax({
url: '/somefile',
timeout : timeOutVar,
success: function(data) {
console.log('success');
},
error: function(data) {
console.log('error');
}
});
そのコードをprogress
次のようにイベント ハンドラを使用するように更新しました。
$.ajax({
url: '/somefile',
timeout : timeOutVar,
success: function(data) {
console.log('success');
},
error: function(data) {
console.log('error');
},
xhr: function() {
var xhr = new window.XMLHttpRequest();
xhr.addEventListener("progress", function(evt){
console.log('progress');
}, false);
return xhr;
}
});
これは、Internet Explorer 10 およびその他すべての最新のブラウザーで完全に機能します。しかし、古いバージョンの Internet Explorer では、問題が発生しました。IE9、8、7 はイベントハンドラを呼び出しませんprogress
がsuccess
、すべてがロードされたときです。
したがって、これらの古いバージョンの Internet Explorer には互換性の問題があるのではないかと思います。残念ながら、XmlHttpRequest
IE のどのバージョンでどの部分の作業が行われるかを正確に定義しているリソースを見つけることができませんでした。誰かがそのようなリソースを知っていますか、またはコードの何が間違っているのでしょうか?