在打开和关闭弹出窗口时尝试触发在safari上切换覆盖的功能。
var newWindow = null;
function offOverlay() {
document.getElementById("overlay").style.display = "none";
}
function onOverlay() {
document.getElementById("overlay").style.display = "block";
}
function myFunction() {
newWindow = win.open(url, title, 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width='+w+', height='+h+', top='+y+', left='+x);
onOverlay();
newWindow.onbeforeunload = offOverlay;
}
因此,使用一个按钮,它将触发myFunction()打开一个弹出窗口,然后它将打开一个覆盖div并向newWindow添加一个事件侦听器以关闭onbeforeunload事件上的覆盖。我在chrome,firefox,safari上进行了测试,但只有safari才给我一个问题,当加载newWindow时,它会立即触发offOverlay。
尝试使用onunload,但这给了我同样的问题。不知道是什么原因造成的。