window.focus () не работает через определенный промежуток времени - PullRequest
1 голос
/ 14 июня 2019

Я пытался создать таймер, в котором появляется новое маленькое окно квадратной формы с часами для установки таймера (назовем его myWin)

Я сохранил myWin из функции window.open(), а myWin.focus() не работает через 5 секунд setTimeout();

Я попытался использовать window.opener, для которого я сохранил код таймера в открывшемся окне. Не работал вообще.

//Code for timer

function btn1Click() {
    myWin = window.open('small.html', "", "width=100, height=100"); //small.html contains the dummy clock in it

    setTimerValue(5, myWin); // 5 seconds is the hardcoded time, it can be any positive integer
    console.log("Opened");
}

function setTimerValue(mytime) {
    console.log(myWin);
    let interval = setInterval(function() {
        console.log(mytime);
        mytime--;

        if (mytime == 0) {
            console.log("I am inevitable...")
            clearInterval(interval);
            myWin.focus(); //doesn't work if the value of time is more than 5 seconds

            console.log("Done");
        }
    }, 1000);

}

Окно, содержащее small.html, должно быть в фокусе после завершения работы функции setTimeout

...