使用FullScreen API全屏显示Keydownevent

时间:2012-12-05 13:28:31

标签: javascript jquery firefox google-chrome fullscreen

我在chrome和firefox中使用JavaScript FullScreen API和jQuery。我想停止keydownevent冒泡,因为我不希望该用户使用热键(F11和Ecs)离开全屏模式。但是chrome中的回调不会在firefox调用F11时调用和回调,而是不会调用Esc。为什么会这样?

$(document).bind({
    'keydown': function (e) {
        alert('It works!');
        if (e.which == 122 || e.which == 27) {
             alert('F11 or Esc');
             return false;
        }
});

var docElm = document.getElementById('gallery');
if (docElm.mozRequestFullScreen) {
     docElm.mozRequestFullScreen();
}
else if (docElm.webkitRequestFullScreen) {
     docElm.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT);
}

1 个答案:

答案 0 :(得分:0)

这种情况正在发生,因为它是一种内置的安全方法,浏览器供应商为了防止客户想要做的事情而明确地进行了硬编码:让人们不要离开。

就个人而言,我希望esc可用作按钮来显示全屏游戏的菜单(看多年来它已经完成了),但目前这不是一个选项。

当然,你可以听取退出全屏,然后调出游戏菜单(这很奇怪),但除此之外,联盟营销人员会把你收到整页广告,让他们满满的 - 屏幕,并没有提供退出按钮,除了关闭浏览器(你不能不使用键盘,Fullscreen也可以阻止)。