0

我正在使用以下 jquery 插件在我的网络应用程序中启用全屏。

https://github.com/martinaglv/jQuery-FullScreen

它工作得很好,除了当我处于全屏模式时我的文本区域不可编辑?为什么是这样?它是浏览器的东西还是插件?

它似乎没有以任何方式被禁用...

我的测试代码如下:

 <!DOCTYPE html>
<html>
<head>
    <title></title>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>
    <script type="text/javascript" src="https://raw.github.com/martinaglv/jQuery-FullScreen/master/fullscreen/jquery.fullscreen.js"></script>
</head>
<body>
    <div id="content">
        <textarea></textarea>
        <button>
            Go Go Fullscreen</button>
    </div>
    <script type="text/javascript">
        (function () {

            if ($.support.fullscreen) {

                $('button').click(function (e) {

                    $('#content').fullScreen();

                });
            }

        })();
    </script>
</body>
</html>
4

2 回答 2

3

有一种解决方法(至少对于 Chrome),但我不知道它是如何影响您使用的插件的。您必须传递一些指令以允许键盘输入:

document.body.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT);

更新:

您可以很容易地修改插件。此函数将更改以反映上述内容:

function requestFullScreen(elem){
    if (elem.requestFullscreen) {
        elem.requestFullscreen();
    } else if (elem.mozRequestFullScreen) {
        elem.mozRequestFullScreen();
    } else if (elem.webkitRequestFullScreen) {
        elem.webkitRequestFullScreen();
    }
}

默认情况下,插件强制浏览器进入全屏模式,不允许键盘输入。

来自 MDN的更多信息,以及我发现一些线索的线程。

于 2012-09-05T04:18:30.070 回答
0

从教程:

允许开发人员以编程方式占用用户屏幕的想法并非没有严重的安全隐患,这就是键盘使用受到限制的原因。当然,全屏键盘输入有很多合法用途,这将在 API 的未来修订版中通过某种权限提示来解决。

然而,即使以目前有限的形式,API 仍然为我们提供了增强最终用户体验的机会。

在某些浏览器中,它甚至不会全屏显示,例如 IE 9。

http://tutorialzine.com/2012/02/enhance-your-website-fullscreen-api/

于 2012-09-05T04:17:07.183 回答