在Firefox

时间:2015-10-14 15:00:13

标签: javascript html5 firefox focus fullscreen

我制作的HTML5应用程序必须以全屏模式运行。当用户离开全屏或切换到多显示器设置中的另一个窗口时,应用必须收到通知并暂停。

我创建了一个超时,不断检查浏览器是否有焦点并且全屏显示:

function check() {
    // detect state
    var isFullscreen = $(document).fullScreen();
    var isFocused = document.hasFocus();

    // force user out of fullscreen if focus is lost
    if(isFullscreen && !isFocused) {
        isFullscreen = false;
        $(document).fullScreen(false);
    }

    if(!isFullscreen) {
        pause();
    } else {
        unpause();
    }
}

setInterval(check, 200);

此代码在Chrome和IE中完美运行。所有浏览器都在页面上方显示确认窗口。

但是,仅在Firefox中,单击"确认"此窗口中的按钮使浏览器失去焦点! check函数会立即检测到它并强制用户退出全屏,导致应用程序无法使用。

此问题是否有任何已知的解决方法?

0 个答案:

没有答案