0

我知道这里有类似的问题,但我找不到任何涉及关闭子页面的问题。

代码有一个链接“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' 交换 'unload' 。没运气

4

0 回答 0