Chrome: chrome обновление версии 83.0.4103.97 (официальная сборка) (64-разрядная)
Flow
- Функция
function_name
вызывается со страницы ( эта страница остается главной родительской страницей во всем сценарии), в которой есть таблица с несколькими записями, а запись имеет гиперссылку, которая извлекает больше данных и отображается во всплывающем / всплывающем окне. - Код эт c. упомянутый в разделе кода внизу, находится на той части Popup / Overlay, где существуют форма и iframe, которые облегчают весь процесс.
- В форме отправьте сюда еще один фрагмент кода html, который затем заполняется в iframe, проверьте цель iframe.
Проблема
Отправка формы работала раньше для всех браузеров и опубликуйте новое обновление, оно не работает в последней сборке chrome, но оно в данный момент работает в других браузерах без каких-либо проблем.
Объяснение неработоспособности
Я добавил логи, все работает, как ожидалось, до вызова строки отправки формы. При отправке формы мы ожидаем, что будет вызвана новая часть html, а затем она будет загружена в iframe. Эта страница никогда не вызывается в последней сборке chrome (вызывается во всех других браузерах), на вкладке сети нет отражения, что должно произойти, потому что при отправке формы вызывается другой файл. (происходит во всех других случаях)
Наблюдения
Всплывающее окно инициируется нажатием кнопки на родительской странице (как описано в потоке)
Код для того же самого приведен выше, если тот же кусок кода удаляется с родительской страницы, а затем заменяется чем-то другим, а затем снова изменяется на тот же код, после чего он работает нормально. (Понятия не имею почему!)
Поведение тоже ошибочно c, один раз в синюю луну даже на последней chrome работает правильно, один или два раза. Но эффективность системы на всех остальных браузерах составляет 100%.
Код: Минимальный (Комментарии добавляются для понимания отдельно)
<div id="divid" class="dialog" title="">
<!-- Iframe -->
<center>
<iframe name="frameid" id="frameid" src="/images/somegif.gif" width=820 height=400 frameborder=0 style="border:0; padding:0; margin:0;"></iframe>
</center>
</div>
<!-- Form -->
<form id="formid" name="formid" method="post" action="/somefile.html" target="framename">
<!-- Some Form Elements -->
</form>
<script>
//Javascript
$(function() {
$("#divid").dialog({
width: 860,
autoOpen: false,
modal: true,
resizable: false,
open: function(e, ui) {
$(this).siblings(".ui-dialog-titlebar").find("button").blur();
},
close: function() {
jQuery('#framename').attr('src','/images/somegif.gif')
}
});
});
function function_name(val1,val2) {
var form_obj;
form_obj=document.getElementById('formid');
if (form_obj) {
//some operation, validation etc.
jQuery("#divid").dialog('open');
somefun(form_obj, "var_name", var_name); //They are working fine
somefun2(form_obj, "var_name2", var_name2); //They are working fine
form_obj.submit();
}
}
</script>
Я только что заметил, что имя и идентификатор формы совпадают, то же самое касается iframe. Разработчика, написавшего это, больше нет с нами, короче говоря, нет моего кода.