Проблема, с которой вы столкнулись, связана с тем, как jQuery Mobile кэширует страницы.И location.reload(true)
не будет работать , так как URL будет содержать строку хеша.
Причина:
Для эмуляции собственных мобильных переходов jQuery Mobile выполняет запрос Ajax ивставляет элемент <div data-role="page">
внутрь first страницы, по существу создавая одностраничный сайт из многостраничного (со встроенной навигацией и закладками).
решение:
Однако команде не хватило некоторого предвидения, как обращаться с содержимым, зависящим от времени.Я лично исправил проблему, добавив к своим ссылкам атрибут, который я хочу получить свежую копию .
$('body').delegate('a[data-cache=false]', 'click', function() {
var $this = $(this);
$('[data-url="' + $this.attr('href') + '"]' ).remove();
});
Это прослушивает событие щелчка (нажатие, что угодно), удаляет кэшированный div и позволяет jQuery запросить свежую копию.
Примечание:
Существует множество решений для этого, таких как data-ajax="false"
и rel="extenal"
, однако они остановятсянавигационная система функционирует, чтобы функционировать в полной мере.Также команда jQuery знает о проблемах, связанных с этим, и в настоящее время работает над полной перепиской навигации.http://jquerymobile.com/blog/2011/05/13/jquery-mobile-team-update-week-of-may-9th/.