Jquery mobile и IOS адресна лента

Имам някои проблеми с ios устройства поради URL адресната лента. Използвам Esri Javascript api карти и Jquery mobile. Когато сменям страницата, преоразмерявам картата си, но тъй като URL лентата отгоре не е фиксирана, получавам бели полета в долната част, защото не може да получи точната височина. Може ли някой да ми каже как да се справя с този проблем. Опитах да използвам scroll top, но не помага. От почти ден се боря с това. Има ли начин винаги да показвам адресната лента или да скрия адресната лента само за няколко страници.

Благодаря, Паван


person Pawan    schedule 09.05.2012    source източник


Отговори (2)


Можете да актуализирате височината на вашия контейнерен елемент в манипулатор на събития window.resize:

$(window).bind('resize', function () {
    $('#container').height($(this).height());
});

Това, разбира се, е много опростено, най-вероятно ще трябва да направите малко математика, за да разберете точната височина на контейнера.

Бих добавил също таймаут, така че това да се задейства само веднъж на преоразмеряване (различните браузъри изпращат различен брой събития за преоразмеряване, докато браузърът преоразмерява):

var timer;
$(window).bind('resize', function () {
    clearTimeout(timer);
    timer = setTimeout(function () {
        $('#container').height($(this).height());
    }, 50);
});

Тъй като адресната лента е скрита, resize събития се задействат, тъй като портът за изглед променя размерите.

person Jasper    schedule 09.05.2012
comment
Благодаря за помощта. Правя преоразмеряване и то преоразмерява. но тъй като картата се зарежда, когато приложението се зарежда за първи път, но не и активният изглед, и когато стане активен, не показва адресната лента и превърта директно до заглавката. страницата изчислява ширината вдясно, само че превърта до заглавката. Когато превъртя нагоре, виждам заглавката. В Android работи добре. Само IOS има този проблем. - person Pawan; 09.05.2012

Има събитие за промяна на ориентацията за JQM,

$( window ).on( "orientationchange", function( event ) {
    /* your codes here */
});
person yeyene    schedule 07.06.2013