В чем разница между этим кодовым блоком:
var xhr = new XMLHttpRequest();
xhr.upload.addEventListener("progress", uploadProgress, false);
xhr.addEventListener("load", uploadComplete, false);
xhr.addEventListener("error", uploadFailed, false);
xhr.addEventListener("abort", uploadCanceled, false);
xhr.open("POST", "upload_url");
xhr.send(some_form_data);
и это:
var xhr = new XMLHttpRequest();
xhr.upload.addEventListener("progress", uploadProgress, false);
xhr.upload.addEventListener("load", uploadComplete, false);
xhr.upload.addEventListener("error", uploadFailed, false);
xhr.upload.addEventListener("abort", uploadCanceled, false);
xhr.open("POST", "upload_url");
xhr.send(some_form_data);
Я видел обе версии в блогах и других сообщениях SO, но никто не объясняет, почему они используют друг друга. Единственное различие, которое я могу найти на этом этапе, заключается в том, что последний не работает в браузере Android по умолчанию, а первый, похоже, работает практически во всем.