我遇到了这个奇怪的问题。我有一个应用程序,我正在从起始页执行 window.open 。我写的代码如下:
i=1;
while i>0
{
if (!mywindow.closed)
{
mywindow.focus()
}
else {
1--;
}
}
这是为了确保弹出窗口始终保持焦点,除非它被关闭。 但出现的问题是,当弹出声音时,整个桌面都会卡住。除非我们关闭它,否则我们不能做任何其他事情。我们的目的是卡住应用程序,而不是整个桌面。我们该如何解决这个问题呢?提前致谢。
最佳答案
JavaScript 不是多线程的;如果运行 while
循环,它将占用 JavaScript 的整个执行过程。换句话说,mywindow.close
永远不会有机会改变。
如果您想响应某些变化,请不要使用轮询循环。使用事件代替:
// Not sure if this would work, but illustrates using events.
mywindow.addEventListener('blur', function () {
mywindow.focus();
});
关于javascript - Window.open 弹出窗口卡住整个桌面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38531602/