РЕДАКТИРОВАТЬ: Это, кажется, только проблема с нажатием кнопки Отмена, которая имеет метод onclick onclick = "window.close ()". Вы можете программно нажать кнопку ОК, которая имеет onclick = "this.form.elements ['button']. Value = 'OK'". У кого-нибудь есть идеи, почему будет работать кнопка ОК, а не кнопка Отмена?
У меня есть два фрейма с одинаковым происхождением. Когда кнопка отмены нажимается во вложенном iframe, она вызывает jQuery .click () на кнопке отмены в родительском iframe, вызывая ее закрытие. Это прекрасно работает в Chrome и Firefox, но в Edge ничего не происходит, когда вы нажимаете кнопку отмены во вложенном iframe (то есть .click () на кнопке отмены родительского iframe не выполняется).
Я знаю, что обращаюсь к правильному элементу, потому что я могу без проблем скрыть родительскую кнопку отмены из вложенного iframe, используя .hide (). Я пробовал различные предлагаемые решения без какого-либо успеха (например,
Вот мой код с закомментированными остатками различных предложенных предложений.
$(document).ready(function() {
var debug = true;
var cancelBtn = $("input.Button[name='cancel_btnName']");
var listenType = (navigator.userAgent.toLowerCase().indexOf('edge') != -1) ? 'mouseup' : 'click';
if (debug) console.log("listenType = " + listenType);
cancelBtn.on(listenType, function() {
if (debug) console.log("About to close parent view. cancel_btnName length = " + $(parent.document).find("input.Button[name='cancel_btnName']").length);
if ($(parent.document).find("input.Button[name='cancel_btnName']").length > 1) {
$(parent.document).find("input.Button[name='cancel_btnName'].last()").click();
} else {
var parentDoc = $(parent.document);
//parentDoc.find("input.Button[name='ok_btnName']").focus();
//parentDoc.find("body").click();
//parentDoc.find("input.Button[name='cancel_btnName']").focus();
parentDoc.find("input.Button[name='cancel_btnName']").trigger('click');
//$("input.Button[name='cancel_btnName']", window.parent.document).click();
//parent.$('body').find("input.Button[name='cancel_btnName']").trigger('click');
//parentDoc.find("input.Button[name='cancel_btnName']").click();
//$(parent.document).find("input.Button[name='cancel_btnName']").trigger("click");
//$(parent.document).find("input.Button[name='cancel_btnName']").hide();
}
});
});