窗口加载后立即触发onb​​eforeunload。仅在Safari 13中发生

时间:2020-02-22 14:08:26

标签: javascript web safari

在打开和关闭弹出窗口时尝试触发在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,但这给了我同样的问题。不知道是什么原因造成的。

0 个答案:

没有答案