Задержка времени перерывает форму таргетинга iframe - PullRequest
0 голосов
/ 26 сентября 2019

У меня есть:

<iframe name="form-response" id="form-response" class="hidden" src="" width="0" height="0" tabindex="-1"></iframe>
<form accept-charset="UTF-8" class="form" target="form-response" method="post" action="https://......">

Страница является частью одностраничного приложения, поэтому она построена.После долгих экспериментов я обнаружил, что размещение формы на странице после отрисовки страницы приводит к сбою таргетинга, и ответ на отправку формы открывается на новой вкладке, а не направляется в iframe.Это верно в Chrome и Safari, но не в Firefox.

Есть ли какой-то момент, когда браузер проверяет свою страницу и решает, какие цели на странице, а какие следует перейти на новую вкладку?Есть ли способ заставить его выглядеть снова?

Более подробно: я работаю в эзотерической структуре JS.Страница загружается, извлекает некоторые данные, затем обновляется извлеченными данными (после чего форма создается и вставляется вместе с целевым элементом iframe).Я сократил содержание формы до минимума (кнопка «Отправить»), но открытие в новой вкладке сохранялось.Не имея ничего требующего данных, я сразу же создал форму при загрузке и обнаружил, что проблема исчезла.Я попытался обернуть создание формы в setTimeout, и проблема вернулась, даже с нулевым временем.

Возможно, что фреймворк что-то делает, чтобы вызвать проблему, но я не знаючто бы это могло быть. не изменяет DOM вокруг или в форме.Это точно так же в рабочем и нерабочем случаях.

...