屏幕:lockOrientation() 方法

已弃用:此特性不再推荐。虽然某些浏览器可能仍然支持它,但它可能已经从相关的网络标准中删除,可能正在删除过程中,或者可能仅为兼容性目的而保留。请避免使用它,如果可能,请更新现有代码;请参阅本页底部的兼容性表格以指导您的决策。请注意,此特性可能随时停止工作。

Screen 接口的 lockOrientation() 方法会将屏幕锁定为指定的方向。

警告:此功能已弃用,应避免使用。请改用 ScreenOrientation.lock() 方法。

注意:此方法仅适用于已安装的 Web 应用或处于 全屏模式下的网页。

语法

js
lockOrientation(orientation)

参数

orientation

屏幕要锁定的方向。可以是一个字符串或字符串数组。传递多个字符串可让屏幕仅在选定的方向之间旋转。

以下字符串代表您可以指定的可能方向要求:

portrait-primary

表示屏幕在其主纵向模式下的方向。当设备处于正常位置且该位置为纵向时,或者当设备的正常位置为横向且设备顺时针旋转 90° 时,屏幕被视为处于其主纵向模式。正常位置取决于设备。

portrait-secondary

表示屏幕在其次纵向模式下的方向。当设备处于正常位置的 180° 且该位置为纵向时,或者当设备的正常位置为横向且设备逆时针旋转 90° 时,屏幕被视为处于其次纵向模式。正常位置取决于设备。

landscape-primary

表示屏幕在其主横向模式下的方向。当设备处于正常位置且该位置为横向时,或者当设备的正常位置为纵向且设备顺时针旋转 90° 时,屏幕被视为处于其主横向模式。正常位置取决于设备。

landscape-secondary

表示屏幕在其次横向模式下的方向。当设备处于正常位置的 180° 且该位置为横向时,或者当设备的正常位置为纵向且设备逆时针旋转 90° 时,屏幕被视为处于其次横向模式。正常位置取决于设备。

portrait(纵向)

表示 portrait-primaryportrait-secondary

landscape(横向)

表示 landscape-primarylandscape-secondary

default

表示 portrait-primarylandscape-primary,具体取决于设备的自然方向。例如,如果面板分辨率为 1280*800,则 default 会使其变为横向;如果分辨率为 800*1280,则 default 会使其变为纵向。

注意:可以同时设置多个锁定。因此,如果仅为一个方向设置了锁定,则屏幕方向将永远不会改变,直到屏幕方向被解锁。否则,只要方向在设备已锁定的方向之内,屏幕方向就会在不同方向之间切换。

返回值

如果方向被授权锁定,则返回 true,如果方向锁定被拒绝,则返回 false。请注意,返回值并不表示屏幕方向确实已锁定:可能存在延迟。

示例

使用字符串参数

js
screen.lockOrientationUniversal =
  screen.lockOrientation ||
  screen.mozLockOrientation ||
  screen.msLockOrientation;

if (screen.lockOrientationUniversal("landscape-primary")) {
  // Orientation was locked
} else {
  // Orientation lock failed
}

使用 Array 参数

js
screen.lockOrientationUniversal =
  screen.lockOrientation ||
  screen.mozLockOrientation ||
  screen.msLockOrientation;

if (
  screen.lockOrientationUniversal(["landscape-primary", "landscape-secondary"])
) {
  // Orientation was locked
} else {
  // Orientation lock failed
}

规范

此功能不是任何规范的一部分。它已不再是成为标准的轨道上。

请改用 ScreenOrientation.lock()

浏览器兼容性

另见