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

时间:2013-10-05 19:50:31

标签: javascript performance settimeout

我有一个交互式程序,用户将一个明确源词的一系列翻译一个接一个地调用到Google翻译中处理的语言。 用户不需要自己关闭子窗口。一旦用户注意到他的结论,这取决于谷歌翻译产生的翻译类型。 我已经尝试了几个星期来解决程序报告在程序应该执行page.close()之后无法关闭certian窗口的问题。 我现在接近解决方案,我认为,浏览器需要一些时间来关闭,之后只能检测到窗口关闭。 基本上仍然不符合我的意愿的代码读

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那里通过if(!page.closed)查看延迟函数内部的建议不起作用。 什么工作似乎必须满足以下条件:  1.声明setTimeOut函数。  2.在格式函数(){alertcheck()}中创建函数优先     (延迟时间似乎无关紧要;无论如何,它甚至可以正常工作。)

    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!");
}
}

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

1 个答案:

答案 0 :(得分:0)

  

程序报告在程序应该执行page.close()

之后无法关闭certian窗口

关闭的窗户无法关闭。你应该总是使用

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