检测 React Web App Safari 中的方向变化
Detect Orientation Change in React Web App Safari
我正在为 Android 和 iPhone 编写 React Web 应用程序。我正在尝试获取有关设备方向变化的更新。在 Chrome/Firefox 或大多数其他浏览器中我可以做到:
window.addEventListener('orientationchange', this.orientationChange);
orientationChange()
{
console.log('info-view: orientation change detected ' + window.screen.orientation.type);
try {
screenOrientation = window.screen.orientation.type;
} catch (error) {}
}
但这在 Safari 中不起作用,因为它 orientationchange
根本不受支持。即使在方向更改时执行回调 window.screen.orientation
也是 undefined
.
据我所知,没有办法在 Safari 中获得方向更改的回调。我已经解决这个问题超过 2 周了,我真的需要任何一种可能有效的 workaround/solution。
尽管通常的 window.screen.orientation
在 safari 中是 undefined
window.orientation - (deprecated)
却以 0、90、-90 和 180 度表示方向。
我知道这不是一个完美的答案,因为此功能已被弃用,但它是(唯一)适用于 Safari 的功能,如果有人知道在 Safari 移动网络中检测方向的更好方法,请分享。
我正在为 Android 和 iPhone 编写 React Web 应用程序。我正在尝试获取有关设备方向变化的更新。在 Chrome/Firefox 或大多数其他浏览器中我可以做到:
window.addEventListener('orientationchange', this.orientationChange);
orientationChange()
{
console.log('info-view: orientation change detected ' + window.screen.orientation.type);
try {
screenOrientation = window.screen.orientation.type;
} catch (error) {}
}
但这在 Safari 中不起作用,因为它 orientationchange
根本不受支持。即使在方向更改时执行回调 window.screen.orientation
也是 undefined
.
据我所知,没有办法在 Safari 中获得方向更改的回调。我已经解决这个问题超过 2 周了,我真的需要任何一种可能有效的 workaround/solution。
尽管通常的 window.screen.orientation
在 safari 中是 undefined
window.orientation - (deprecated)
却以 0、90、-90 和 180 度表示方向。
我知道这不是一个完美的答案,因为此功能已被弃用,但它是(唯一)适用于 Safari 的功能,如果有人知道在 Safari 移动网络中检测方向的更好方法,请分享。