您好我在Laravel工作,我需要打开一个弹出窗口,关闭弹出窗口后,我应该进行ajax调用。它在Firefox中运行良好,但在Chrome中它只能在第一次运行,但不会在第二次运行。这是我的代码:
<span class="input-group-addon add_btn">
<a onclick="OpenClassRoomNewTab('#/roomno?iframe=true');" id="dayvisitStudents3" class="btn btn-primary">+</a>
</span>
// JavaScript
function OpenClassRoomNewTab(url) {
winchild = window.open(url, '_blank', 'height=500,width=500');
winchild.onunload = function () {
var win = winchild.opener;
if (!winchild.closed) {
win.roomBind();
}
}
}
function roomBind() {
window.setTimeout(function () {
if (winchild.closed) {
$.ajax({
type: 'post',
data: '',
url: '<?php echo url('refreshdropdown'); ?>',
success: function (responseText) {
if (responseText) {
$('#classRoomArea').empty();
$('#classRoomArea').append(responseText.roomno);
}
}
});
}
}, 1);
}
我试图调试代码,如果(winchild.closed)第一次工作但第二次条件总是假的话,问题出在这部分。
答案 0 :(得分:0)
我认为你应该改变你的思维方式。在winchild(弹出窗口)上,编写一个unload事件,它触发window.opener上的方法。
在这里回答: