@Golmaal ha davvero risposto a questo, sono solo un po 'più prolisso.
<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>
Non hai alcun controllo sull'utente che sposta l'orientamento, tuttavia puoi almeno inviargli un messaggio. Questo esempio nasconderà il wrapper se in modalità verticale e mostrerà il messaggio di avviso, quindi nasconderà il messaggio di avviso in modalità orizzontale e mostrerà il ritratto.
Non penso che questa risposta sia migliore di @Golmaal, solo un complimento. Se ti piace questa risposta, assicurati di dare a @Golmaal il merito.
Aggiornare
Ho lavorato molto con Cordova di recente e risulta che PUOI controllarlo quando hai accesso alle funzionalità native.
Un altro aggiornamento
Quindi, dopo aver rilasciato Cordova, alla fine è davvero terribile. È meglio usare qualcosa come React Native se vuoi JavaScript. È davvero sorprendente e so che non è puro web ma la pura esperienza web su dispositivi mobili ha fallito.