После каждой новой загрузки создается новый XmlHttpRequest объект. Если быть точнее, то перезаписывается переменная, которая содержит этот объект. Также создаются элементы, в которые записывается прогресс загрузки. Создаются кнопки, на которые вешаются обработчики для остановки загрузки.
btn.addEventListener("click",function(){
xhr.abort() {
this.previousElementSibling.innerHTML = "Загрузка отменена.";
},false);
Как видите я останавливаю загрузку, вызывая метод abort(). Как ни странно останавливается именно та загрузка, которая находится рядом с кнопкой, хотя по идее должна остановиться последняя. Это конечно хорошо, но мне интересно, как он определяет, какую загрузку я хочу остановить? Может созданные xhr как-то индексируются?
Но вопрос не в этом. Мне нужно создать еще одну кнопку, с помощью которой можно будет остановить все текущие загрузки. Как это сделать?