Какое событие JS запускается, когда Chrome получает файл загрузки?

У меня возникла проблема с событием onLoad iframe в Google Chrome. Я создал iframe и установил значение для своего атрибута "src", чтобы получить файл с сервера. Пока сервер обрабатывает, отображается окно ожидания, пока клиент не получит возвращенный файл. Я попытался использовать событие onLoad iframe для обнаружения, когда клиент получает файл, чтобы отключить это окно ожидания, но в Google Chrome этот обработчик событий не работает.
С Firefox, когда клиент получает файл, всплывающее окно "Сохранить в" будет отображаться автоматически, а событие "load" будет запущено, но этого не происходит в Chrome.
Не могли бы вы рассказать мне, как справиться с этой проблемой? Большое вам спасибо!

Ответ 1

Я столкнулся с этой точной проблемой. Оказывается, Chrome не запускает абсолютно никаких событий в iframe при загрузке файла.

Поскольку нет событий, которые нужно искать, и вы возвращаете файл (как это было указано в любом встроенном контенте), обходным путем я был вынужден проверить содержимое iframe через несколько секунд, если он пуст, тогда предположим, ошибок не было, и результаты были обработаны правильно. Если он содержит данные (мой сервер вернет JSON, если есть какие-либо ошибки), тогда обработайте данные об ошибках соответствующим образом.

Ответ 3

Способ, которым я столкнулся с этой проблемой, - установить cookie (done = 0), когда на странице, на которой будет загружаться iframe, я использую javascript для удаления iframe на страницу, и я изменяю значение этого файла cookie когда источник iframe script работает успешно (done = 1).

Затем я использовал простой вызов ajax с параметром settimeout, чтобы вернуть значение cookie, когда значение равно 1 Я могу запустить событие onload (это работает для всех других браузеров).