我知道这里有类似的问题,但我找不到任何涉及子页面被关闭的问题。
代码有一个链接" email1",它打开一个子页面,子页面有一个表单,用于在启动页面上使用window.opener更新一些隐藏值,一旦该子页面关闭,代码检查值是否已更改。如果是,它会通过ajax将更改发送到不同的子页面,然后格式化并发送电子邮件。这适用于FF,Chrome,Opera和Microsoft Edge。它在IE11中不起作用。
$(".email1").on('click', function (event) {
var win1 = window.open("../routing/sub1.php","_blank","height=450,width=510, status=yes,toolbar=no,menubar=no,location=no");
$(win1).on('unload', function (event){
if(document.getElementById('hidden1').value != "z"){
...
$.ajax({
type: 'post',
url: '/routing/sub2.php' ,
data: { hidden1 : document.getElementById('hidden1').value ,
hidden2 : document.getElementById('hidden2').value ,
hidden4 : document.getElementById('hidden4').value },
success: function () {
alert("Email has been sent!");
}
});
}
}
});
});
我相当确定问题是卸载事件。我已经尝试将空返回值添加到卸载函数。我试过交换'卸载'与' beforeunload' 。没有运气