@ Гольмаал действительно ответил на это, я просто немного более многословен.
<style type="text/css">
#warning-message { display: none; }
@media only screen and (orientation:portrait){
#wrapper { display:none; }
#warning-message { display:block; }
}
@media only screen and (orientation:landscape){
#warning-message { display:none; }
}
</style>
....
<div id="wrapper">
<!-- your html for your website -->
</div>
<div id="warning-message">
this website is only viewable in landscape mode
</div>
Вы не можете контролировать перемещение пользователя, однако вы можете, по крайней мере, отправить ему сообщение. В этом примере обертка будет скрыта, если она находится в портретном режиме, и отобразит предупреждающее сообщение, а затем скроет предупреждающее сообщение в ландшафтном режиме и покажет портрет.
Не думаю, что этот ответ лучше @Golmaal, только комплимент. Если вам нравится этот ответ, обязательно дайте @Golmaal кредит.
Обновление
В последнее время я много работал с Cordova, и оказалось, что вы МОЖЕТЕ управлять им, когда у вас есть доступ к нативным функциям.
Другое обновление
Так что после освобождения Кордовы это действительно ужасно в конце. Лучше использовать что-то вроде React Native, если вы хотите JavaScript. Это действительно потрясающе, и я знаю, что это не чистый веб, а чистый веб-опыт на мобильных устройствах провалился.