5

我想在iOS6中使用Safari新的全屏功能。现在我知道不可能从 javascript 触发全屏功能,这没关系,但我想知道用户何时进入全屏模式。(在用户进入全屏模式之前,显示一个带有文本“此网站最好以全屏模式查看”的弹出窗口。)

我已经尝试设置窗口、文档和“包装器”div(宽度和高度在 css 中设置为 100%)onresize 事件(通过普通 javascript 和通过 jQuery 'resize' 事件),但它们不会被触发我进入全屏模式。

我还设置了一个间隔来检查屏幕/文档/包装器的宽度和高度的变化,但它们没有显示任何变化。

有没有其他方法可以确定用户是否进入(或离开)全屏模式?

4

1 回答 1

0

好吧,我真的不知道为什么它以前不起作用,但我责怪新的 safari ios 调试控制台(现在需要在你的 mac 上通过 safari),因为它并不总是显示我发送的所有日志到控制台。

但是,当我只是将消息附加到 html 文档本身的正文时,这些事件正在工作。将 jQuery 'resize' 事件绑定到窗口似乎是最好的选择。

文档高度在非全屏时约为 200,全屏时为 320。

最简单的解决方案似乎可以正常工作。(只需将其与方向更改功能结合使用,即可检测 iPhone 是否处于横向模式(http://ajaxian.com/archives/iphone-windowonorientationchange-code))。

    $(window).on('resize', function(){
        if ($(this).height() > 300 && 
           (window.orientation == 90 || window.orientation == -90)) {
            // Full screen!
        } else {
            // Exit full screen!
        }
    });
于 2013-02-16T14:45:26.810 回答