Изменение ориентации в phonegap

#javascript #android

#javascript #Android

Вопрос:

 window.onresize = function(){ updateOrientation(e); }
    function updateOrientation(e) {
        alert("hey");

        deviceWidth = $('body').width();
        if (deviceWidth == 320) {
            currentOrientation = "portrait";
        }
        else if (deviceWidth == 480) {
            currentOrientation = "landscape";
        }

        // fire a function that checks the orientation every x milliseconds
        setInterval(checkOrientation, 500);

        // check orientation
        function checkOrientation() {
            deviceWidth = $('body').width();
            if (deviceWidth >= '1200') {
                newOrientation = "portrait";
            }
            else if (deviceWidth <= '900') {
                newOrientation = "landscape";
            }
            // if orientation changed since last check, fire either the portrait or landscape function
            if (newOrientation != currentOrientation) {
                if (newOrientation == "portrait") {
                    changedToPortrait();
                }
                else if (newOrientation == "landscape") {
                    changedToLandscape();
                }
                currentOrientation = newOrientation;
            }
        }

        // landscape stuff
        function changedToLandscape() {
            alert('Orientation has changed to Landscape!');
        }

        // portrait stuff
        function changedToPortrait() {
            alert('Orientation has changed to Portrait!');
        }
    }
  

я использую это для обнаружения изменения ориентации в планшете Android с помощью phonegap. каким-то образом код не работает. есть предложения? Я предполагаю, что не удается сгенерировать событие для изменения ориентации.

Комментарии:

1. @Khush- Используете ли вы фреймворк jQM вместе с PhoneGap для разработки приложения для Android?

Ответ №1:

Это работает для меня в PhoneGap:

 function onOrientationChange() {
    switch (window.orientation) {
        case -90:
        case 90:
            alert('landscape');
            break;
        default:
            alert('portrait');
            break;
    }
};
window.onresize = onOrientationChange;