Загрузка iframe в Chrome против IE11 - PullRequest
0 голосов
/ 02 апреля 2019

Я писал свое первое веб-приложение с использованием Chrome (из-за аккуратного встроенного инструмента Inspect), и все было в порядке, пока я не протестировал в IE11.

Это в основном форма и iframe, которые используются длязагрузка файла (но во фрагменте я только что сосредоточился на минимальном воспроизведении поведения, вырезав все это).

Поведение таково, что в Chrome я нажимаю «Отправить», и форма запускает событие загрузки iframe и запускает некоторый код.В IE11 onload срабатывает при загрузке страницы, и когда нажимается кнопка «Отправить», она срабатывает дважды.

Кажется, что я должен использовать какой-то другой обработчик событий, но не уверен, что ловить.Я попытался отправить, но ничего не происходит.

Код из блока html:

<form enctype = "multipart/form-data" target="upload-iframe">
  <input type = "submit" />
</form>
<iframe name="upload-iframe" id="myFrame" hidden="hidden"></iframe>

<script type="text/javascript">
  var iframe = document.getElementById('myFrame');
  iframe.onload = function() {
    alert("I'm doing something");
  }
</script>

Спасибо!

1 Ответ

0 голосов
/ 02 апреля 2019

Я поиграл и в конце концов обнаружил, что, упаковав блок загрузки в jQuery $ (document) .ready (function () {...});чтобы отложить его до окончания загрузки страницы, он решает как проблему с триггером события загрузки при загрузке страницы, так и проблему двойного триггера.

...