古い('12)質問の更新では、これは多くの人々に役立つと思います!
デバイスの回転をロックする本当の方法はわかりませんが、完璧な代替案を思いつきました。これは、数人の人もそうしているのを見てきました。
オプションA.1つの簡単なアラート
簡単なjQueryスクリプトを使用することで、デバイスの向きを検出できます。
if(window.innerHeight > window.innerWidth){
alert("Please use Landscape!");
}
簡単なアラートは簡単ですが、通知は非常に便利です。
オプションB.1つの素敵な画像通知
(2018年4月現在の更新:(投稿をもう一度見たので、もっと簡単なことを考えました。)メディアクエリを使用します。以下とほぼ同じですが、Javascriptを使用する代わりに、cssを使用し、デフォルトで要素を非表示にします。向きが横向きの場合に表示→@media(向き:横向き){...})
fixed
向きが変わったときに表示される要素をページに追加するだけです。
HTML
<div class="turnDeviceNotification"></div>
CSS
.turnDeviceNotification {
position:fixed;
top: 0;
left:0;
height:100%;
width:100%;
display: none;
}
この要素をテキストで更新するか、次の方法で背景画像に接続することができます
.turnDeviceNotification {
background-image:url('../images/turnDevice.jpg');
background-size:cover;
}
以下のような素敵な背景を画像フォルダに追加するだけです。
オブジェクトにdisplay: none
?があることに気づきました それ以外の場合は、ポートレートモードでも表示されるためです。これで、以下のスクリプトを使用するだけで、オブジェクトは横向きモードでのみ表示されます。
jQuery(window).bind('orientationchange', function(e) {
switch ( window.orientation ) {
case 0:
$('.turnDeviceNotification').css('display', 'none');
// The device is in portrait mode now
break;
case 180:
$('.turnDeviceNotification').css('display', 'none');
// The device is in portrait mode now
break;
case 90:
// The device is in landscape now
$('.turnDeviceNotification').css('display', 'block');
break;
case -90:
// The device is in landscape now
$('.turnDeviceNotification').css('display', 'block');
break;
}
});
これにより、デバイスの向きが横向きに変更された場合にのみ通知が表示されます。
