我想在chrome中使用Js中的API屏幕。

 if ( navigator.userAgent.match( /(android|iphone)/gi ) ) {
        if ( 'orientation' in screen ) {
            //console.log( '// API supported, yeah!' );
            //console.log( 'new orientation is ', screen.orientation );
            screen.lockOrientation( 'landscape' );
        } else {
            console.log( '// API not supported ' );
        }
    } else {
        //alert('none');
    }

我的错误js:
捕获到TypeError:screen.lockOrientation不是一个函数

/ *其他* /
if ( navigator.userAgent.match( /(android|iphone)/gi ) ) {
    if ( 'orientation' in screen ) {
        let locOrientation = screen.lockOrientation || screen.mozLockOrientation || screen.msLockOrientation;
        locOrientation('landscape');
        console.log( '// API supported, yeah!' , locOrientation);
        console.log( 'new orientation is ', screen.orientation );
        //screen.lockOrientation( 'landscape' );
    } else {
        console.log( '// API not supported ' );
    }
} else {
    //alert('none');
}

我的错误js:locOrientation不是函数

更新:20/04/2017->使用Javascript,我们无法使用导航器锁定方向。

最佳答案

这是因为lockOrientation仍然是前缀。请参见this MDN文章中的[2]脚注。另外,在Chrome中,它位于orientation.lock下。请参阅MDN文章中的[1]脚注。

locOrientation = screen.lockOrientation || screen.mozLockOrientation || screen.msLockOrientation || screen.orientation.lock;
locOrientation('landscape');

请注意,并非所有浏览器都具有此功能。使用前请检查locOrientation是否已设置。

编辑:将新的orientation.lock添加到示例中。

关于javascript - screen.lockOrientation不是函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42956350/

10-12 22:28