Screen.lockOrientation()

非推奨
この機能はウェブ標準から削除されました。まだ対応しているプラウザーがあるかもしれませんが、ゆくゆくはなくなるものです。使用を避け、できれば既存のコードを更新してください。このページの下部にあるブラウザーの対応を見て判断してください。この機能は突然動作しなくなる可能性があることに注意してください。

lockOrientation()Screen インターフェイスのメソッドで、画面を特定の方向にロックします。代わりに ScreenOrientation.lock() メソッドを使用してください。

メモ: このメソッドはインストールされたウェブアプリまたは全画面モードのウェブページでのみ動作します。

構文

lockAllowed = window.screen.lockOrientation(orientation);

引数

orientation
画面をロックする向きです。文字列または文字列の配列で指定します。複数の文字列を渡したときは、選択した向きでのみ回転できるようになります。

以下の文字列表現が向きとして指定できます。

portrait-primary
メインのポートレートモードであるスクリーンの向きを表します。メインのポートレートモードとは、デバイスを通常の向きが縦向きの場合と、デバイスの通常の位置が横向きの場合に時計回りに 90° 回転させた向きの場合です。どの向きが通常の向きであるかは、デバイスによって異なります。
portrait-secondary
2番目のポートレートモードであるスクリーンの向きを表します。2番目のポートレートモードとは、デバイスを通常の向きが縦向きでそこから 180° 回転させた場合と、デバイスの通常の位置が横向きの場合に反時計回りに 90° 回転させた向きの場合です。どの向きが通常の向きであるかは、デバイスによって異なります。
landscape-primary
メインのランドスケープモードであるスクリーンの向きを表します。メインのランドスケープモードとは、デバイスを通常の向きが横向きの場合と、デバイスの通常の位置が縦向きの場合に時計回りに 90° 回転させた向きの場合です。どの向きが通常の向きであるかは、デバイスによって異なります。
landscape-secondary
2番目のランドスケープモードであるスクリーンの向きを表します。2番目のランドスケープモードとは、デバイスを通常の向きが横向きでそこから 180° 回転させた場合と、デバイスの通常の位置が縦向きの場合に反時計回りに 90° 回転させた向きの場合です。どの向きが通常の向きであるかは、デバイスによって異なります。
portrait
portrait-primary と portrait-secondary の両方を表します。
landscape
landscape-primarylandscape-secondary の両方を表します。
default
デバイスに自然な向きによって portrait-primary または landscape-primary が選ばれます。たとえば、ディスプレイの解像度が 1280*800 なら、 defaultlandscape になるでしょうし、800*1280 なら、 defaultportrait になるでしょう。

メモ: 複数のロックが同時に指定されることがあります。そのため、1つの向きにのみロックがセットされた場合には、スクリーンの向きはロックが解除されるまで決して変更されません。もしそうでなければ、デバイスがロックされた向きを含む複数の向きの間で、スクリーンの向きが1つの向きから別の向きへと移り変わってしまうことになります。

返値

向きの固定が許可された場合には true が返り、向きのロックが拒否された場合には false が返ります。返値は、必ずしもスクリーンの向きが実際にロックされていることを示すわけではないことに注意してください。遅延がある可能性があるからです。

DOMString 引数での使用方法

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

if (screen.lockOrientationUniversal("landscape-primary")) {
  // 向きがロックされた
} else {
  // 向きのロックに失敗した
}

Array 引数での使用方法

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

if (screen.lockOrientationUniversal(["landscape-primary", "landscape-secondary"])) {
  // 向きがロックされた
} else {
  // 向きのロックに失敗した
}

仕様書

仕様書 状態 備考
Screen Orientation API
Screen Orientation の定義
草案 初回定義 (もう草稿には存在しません)

ブラウザーの対応

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung Internet
lockOrientationChrome 完全対応 38Edge ? Firefox 完全対応 あり
接頭辞付き
完全対応 あり
接頭辞付き
接頭辞付き moz のベンダー接頭辞が必要
IE 完全対応 11
接頭辞付き
完全対応 11
接頭辞付き
接頭辞付き ms のベンダー接頭辞が必要
Opera 完全対応 ありSafari 未対応 なしWebView Android 完全対応 38Chrome Android 完全対応 38Firefox Android 完全対応 あり
接頭辞付き
完全対応 あり
接頭辞付き
接頭辞付き moz のベンダー接頭辞が必要
Opera Android 完全対応 ありSafari iOS 未対応 なしSamsung Internet Android 完全対応 あり

凡例

完全対応  
完全対応
未対応  
未対応
実装状況不明  
実装状況不明
使用するには、ベンダー接頭辞または異なる名前が必要です。
使用するには、ベンダー接頭辞または異なる名前が必要です。

関連情報