浏览器关闭子窗口需要多长时间

How much time does the browser need to close a child window?

本文关键字:长时间 窗口 浏览器      更新时间:2023-09-26

我有一个交互式程序,用户可以一个接一个地调用一系列确定源单词的翻译,翻译成谷歌翻译处理的语言。用户无需自行关闭子窗口。一旦用户注意到他的结论,该程序就会根据谷歌翻译产生的翻译类型。我已经尝试了数周来解决程序报告在程序应该执行 page.close(( 后无法关闭某个窗口的问题。我认为,我现在接近解决方案,即浏览器需要一些时间来关闭,并且只有在关闭之后才能检测到窗口已关闭。本质上,仍然不符合我意愿的代码如下:

function loadpage() {
    page=window.open("url-code for calling specific translation by GT", "GT", "scrollbars=1, resizable=1, height=400, top=200, left=300, width=400", true);
}
function crucial() {
    page.close();
    setTimeOut(function() {
        if (page.closed) {
            alert("succesful closing");
        } else {    
            alert("The window can't be closed!");
        }
    }, 5000);
}

唉!这两个警报均未显示。在某些情况下,根据延迟时间?,窗口关闭。我从Bergi得到的建议是检查延迟功能内部,如果(!page.closed(不起作用。有效的方法似乎必须满足以下条件: 1. 声明 setTimeOut 函数。 2. 在函数 {alertcheck((} 格式中创建函数首选项 (延迟时间似乎无关紧要;无论如何,即使 0 也可以工作。

    var timeoutID;
function preferential() {
timeoutID = window.setTimeout(function(){alertcheck()}, 0);
}
function alertcheck()  {
if (page.closed) {
    alert("succesful closing");
} else {    
    alert("The window could not be closed!");
}
}

为什么会这样,我非常感兴趣。至少我希望,读者可以用同样的结果重复这个实验。

程序

报告某个窗口在程序应该执行 page.close(( 后无法关闭

关闭

的窗户无法关闭。您应该始终使用

if (!page.closed)
    page.close();