仕事中に詰まったのでメモ
画面の回転を取る方法
const angle = window.screen.orientation.angle;
ベンダー対応版
- mozOrientation
- msOrientation
const _screen = window.screen;
const _orientation = _screen.orientation || _screen.mozOrientation || _screen.msOrientation;
const angle = _orientation.angle;
iOSのSafariも対応版
- iOS/Safariは、Screen Orientation APIに非対応
-
window.orientation
を使う
-
const _screen = window.screen;
const _orientation = (_screen
&& (_screen.orientation || _screen.mozOrientation || _screen.msOrientation))
|| ('orientation' in window && {angle: window.orientation})
|| null;
if (!_orientation || typeof _orientation.angle !== 'number') {
// 取得失敗
}
const angle = _orientation.angle;
一応これで全端末対応できるはず
2019-06-19追記
window.orientationをそのまま評価すると、 0
(回転していない)の時にfalse扱いとなりiOSで正しく取得できない問題があったので修正しました