@Golmaal realmente respondió esto, solo estoy siendo un poco más detallado.
<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>
No tienes control sobre el usuario que mueve la orientación, sin embargo, al menos puedes enviarles un mensaje. Este ejemplo ocultará la envoltura si está en modo vertical y mostrará el mensaje de advertencia y luego ocultará el mensaje de advertencia en modo horizontal y mostrará el retrato.
No creo que esta respuesta sea mejor que @Golmaal, solo un cumplido. Si te gusta esta respuesta, asegúrate de darle el crédito a @Golmaal.
Actualizar
He estado trabajando mucho con Cordova recientemente y resulta que PUEDES controlarlo cuando tienes acceso a las funciones nativas.
Otra actualización
Entonces, después de liberar a Cordova, es realmente terrible al final. Es mejor usar algo como React Native si quieres JavaScript. Es realmente sorprendente y sé que no es pura web, sino que la experiencia web pura en dispositivos móviles falló.