2013-07-09 4 views
0

Для сайта JQuery Mobile мне нужно новое изображение для загрузки на странице навигации. Изображение отображается только на главном экране.JQuery Mobile, чередующиеся образы изображений «Назад»

Так, например, вы загружаете m.smellyeggs.com, у которого в качестве верхнего баннера есть image_A.png. Вы выбираете пункт меню 1, а затем нажимаете назад, и теперь изображение_B.jpg отображается как верхний баннер.

Мне удалось заставить его работать, используя cookies. Я получаю массив потенциальных изображений, а затем использую файлы cookie для перемещения массива. Это работает при перезагрузке страницы, но любая загрузка кеша страницы (например, href = "/" или использование «Назад» в мобильном устройстве или в браузере) не будет вызывать javascript. Таким образом, изображение фактически не будет чередоваться.

var images = new Array(); 
<% banner_mobile_uris(controller.conference).each do |url| %> 
    images.push("<%= url %>"); 
<% end %> 

inc_banner_cookie(); 
load_banner(); 

Чтобы исправить это, я использую следующий код, который удаляет изображение, заставляя обновления изображения всякий раз, когда загружается домашняя страница.

$('a').live('click', function(ev){ 
    var banner = $('#m_banner').load(htm_file); 
    banner.empty().remove(); 
}); 

Этот код удаляет кнопку «Назад» из любой последующей страницы навигации, что происходит.

Ну, это неприемлемо! Любые советы по лучшему подходу? Я бы предпочел не использовать свою собственную кнопку «Назад», если это абсолютно необходимо.

Спасибо за чтение (и, надеюсь, помощь).

+0

Опубликовать полный код вашего jquery mobile html, я должен видеть вашу структуру – abdu

ответ

1

Ответ заключается в использовании pageinit для обнаружения успешных загрузки страниц JQuery Мобильный ...

$(document).on('pageinit', function(){ 
    inc_banner_cookie(); 
    load_banner(); 
}); 

Это не отключит кнопку назад. И вызвать перезагрузку образа при любом типе навигации по страницам. Ну почти любой тип ...

Как оказалось, эта оценка нестабильна при переадресации AJAX, и последующие страницы могут не работать. См. my question concerning this issue.