我正在使用Screen Orientation API(https://www.w3.org/TR/screen-orientation/)来实现JavaScript。我有以下问题:当我将iPhone转到横向位置时(当按钮在左侧时,右侧的自拍摄像头)它会正常旋转屏幕,但在我调用screen.orientation.lock('landscape')
后,它会旋转屏幕并显示屏幕颠倒。它不会发生在Android上。在Android上调用screen.orientation.lock('landscape')
时,屏幕保持在横向模式,正如预期的那样。你能说,这怎么可以修复?
事实证明,它是Screen Orientation API的已知问题。它甚至在其库的github中提到:https://github.com/apache/cordova-plugin-screen-orientation/issues/42,问题仍然存在。所以在我的情况下,我只是锁定当前景观的方向,例如如果它是'landscape-secondary',那么我使用screen.orientation.lock('landscape-primary')
。为什么'小学'?因为它混淆了,如果你现在处于横向二级并且锁定在二级景观上,那么它无论如何都会旋转到横向 - 主要。所以答案是它是库问题。