How do I correctly detect orientation change using Phonegap on iOS?
This is what I do:
function doOnOrientationChange() { switch(window.orientation) { case -90: case 90: alert('landscape'); break; default: alert('portrait'); break; }} window.addEventListener('orientationchange', doOnOrientationChange); // Initial execution if neededdoOnOrientationChange();
Update May 2019: window.orientation
is a deprecated feature and not supported by most browsers according to MDN. The orientationchange
event is associated with window.orientation and therefore should probably not be used.
I use window.onresize = function(){ checkOrientation(); }
And in checkOrientation you can employ window.orientation or body width checkingbut the idea is, the "window.onresize" is the most cross browser method, at least with the majority of the mobile and desktop browsers that I've had an opportunity to test with.
if (window.matchMedia("(orientation: portrait)").matches) { // you're in PORTRAIT mode}if (window.matchMedia("(orientation: landscape)").matches) { // you're in LANDSCAPE mode}