【问题标题】:iOS6 Safari fullscreen detectioniOS6 Safari 全屏检测
【发布时间】:2013-02-16 12:54:53
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: javascript ios mobile-safari fullscreen onresize


    【解决方案1】:

    好的,我真的不知道为什么它以前不起作用,但我责怪新的 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!
            }
        });
    

    【讨论】:

      猜你喜欢
      • 2012-09-20
      • 2012-01-16
      • 2018-03-27
      • 2013-05-21
      • 2011-09-02
      • 2017-08-18
      • 2010-10-12
      • 2012-06-09
      相关资源
      最近更新 更多