@Petroveg Спасибо за помощь. А вообще не предусмотрели этот вариант, когда добавили это свойство. Было бы не плохо добавить параметр к этому свойству, в качестве которого передавался бы код состояния. А если параметр не передан, по умолчанию стоял бы readyState = 4. Может об этом можно куда-нибудь сообщить, чтобы доработали?))
@Petroveg Это все понятно. Я не об этом. По идее ведь свойство timeout должно вызывать abort только тогда, когда ответ от сервера не получен. А он получен, но загрузка файла все равно прерывается. Получается, что это свойство отменяет abort только если получено состояние 4. А состояние 4 приходит только после полной загрузки файла. Т.е. как я понял timeout не реагирует на readyState 2, или 3, а только на 4. Исходя из этого, свойство timeout не подходит для загрузки файлов. Или я что-то не понимаю?
@Petroveg ваш код работает. Просто я решил попробовать встроенное свойство. Но почему-то оно не реагирует на readyState = 2. Как я понял это свойство нельзя применять для загрузки файлов и оно реагирует только на состояние "4". Я правильно понимаю?
@Petroveg как я понял свойство timeout будет работать, только если сервер вернул состояние "4"? Дело в том, что у меня оно все равно срабатывает, хотя файл начал качаться. Но в моем случае сервер возвращает сначала состояние 2, потом состояние 3(файл качается), а 4 возвращает только тогда, когда файл полностью скачался.
Ладно. попробую индексировать. Еще вопросик. Когда вызывается метод abort() в кнопке, в элемент, куда записывается статус загрузки, должен записаться текст "Загрузка завершена". Но он записывается туда лишь на долю секунды, а потом затирается статусом. Т.е. метод abort видимо не сразу останавливает загрузку, поэтому не успевает остановить обновление статуса моментально. Как исправить этот баг?
А xhr как-то индексируются? Может можно отменить все, если пройтись по индексам? Как-то ведь скрипт определяет, какой именно запрос я отменил. Значит в памяти хранятся какие-то индексы?
Вижу я что в ближайшем будущем вообще все будет бесплатно)) Людей уже приучили к халяве, никто не хочет ни за что платить. Рекламу они видеть тоже не хотят. Куда мир катится...)
Если ее не внедрять, то заработок будет вообще мизерный. А чужую рекламу заменять, такое вообще не пропустят расширение. Это грубейшее нарушение. А в чем перебор то? В свободное место страницы вставлять, не будет мешать никому, я думаю.
Так и есть. Значение атрибута download игнорируется. Именно поэтому я и загружаю через xmlhttprequest в формат blob. После этого можно спокойно поменять имя файла, независимо от того, что присылает сервер. Просто я думал, что есть ограничение на размер blob, который можно вставить в url. Но мне подсказали, что ограничение есть только на длину data-uri, а на blob вроде как нет.