如何更正此语法以检测 ipad 浏览器方向

Posted

技术标签:

【中文标题】如何更正此语法以检测 ipad 浏览器方向【英文标题】:How do I correct this syntax to detect ipad browser orientation 【发布时间】:2016-02-12 05:51:21 【问题描述】:

我正在尝试根据 iPad 方向启用/禁用插件。

我从这个开始:https://jsfiddle.net/4hnr2ef8/

然后我发现this article 推荐了这个方法,我现在有了这个,但是语法正确吗?我不断关闭看似开放但运气不佳的区域:https://jsfiddle.net/am86cqto/

function readDeviceOrientation() 
switch (window.orientation)   
case 0:  

    // Portrait 
    break; 
    $(function() 
        $.scrollify(
            section : ".scrollify",
            sectionName: "section-name",
            easing: "easeInOutCubic",
            scrollSpeed: 1100
        );
    var s = skrollr.init(
        forceHeight: false
    );

case 180:  

    // Portrait (Upside-down)
    break; 
    $(function() 
        $.scrollify(
            section : ".scrollify",
            sectionName: "section-name",
            easing: "easeInOutCubic",
            scrollSpeed: 1100
        );
    var s = skrollr.init(
        forceHeight: false
    );

case -90:  

    // Landscape (Clockwise)
    break;
    if ($(window).width() < 768) 
        $.scrollify.disable()
    
    else 
        $.scrollify.enable()
      

case 90:  

    // Landscape  (Counterclockwise)
    break;
    if ($(window).width() < 768) 
        $.scrollify.disable()
    
    else 
        $.scrollify.enable()
    

谢谢, 凯文 W.

【问题讨论】:

【参考方案1】:

在浏览器支持window.screen.orientation之前你必须使用这种方式

function getScreenOrientation()
 return screen.width > screen.height ? "landscape" : "portrait";

仅在手机和平​​板电脑上检测方向

function getScreenOrientation()
    if (/Mobi/.test(navigator.userAgent)) 
        return screen.width > screen.height ? "landscape" : "portrait";
    
    return "landscape";

【讨论】:

但是浏览器在纵向尺寸宽度下的桌面呢?你能重构代码并提供一个小提琴吗? @KevinOrin 如果您只想在手机和平​​板电脑上检测方向,请使用第二个功能

以上是关于如何更正此语法以检测 ipad 浏览器方向的主要内容,如果未能解决你的问题,请参考以下文章

php中的ipad方向检测?

使用Python,Tesseract更正文本方向

FFMPEG - 更正命令行参数以从一组图像创建 H.264 流 MP4

根据窗口边界打开 gwt 子菜单方向

如何检测 iPad 上启动屏幕动画的应用程序启动方向!

使用 JavaScript 检测 iPad 应用内浏览器用户代理