2012-05-14 4 views
1

Хорошо, это странно: Сначала я открываю page1.html. Из page1.html я перехожу на страницу2.html по ссылке, а затем обратно на страницу1.html через другую ссылку. Эти ссылки - это просто регулярные ссылки с относительным путем, а не rel="back" вид ссылки.jQuery Mobile не перезагружает мою страницу правильно

Проблема заключается в следующем: jQuery Mobile будет кэшировать page1.html (хотя он не кэширует page2.html) Если я добавлю rel = "external" в ссылку page2.html, то страница1 обновится, но вместе, все ресурсы также перезагружены (что не то, что я хочу).

Я хочу, чтобы html page1.html был перезагружен. Я добавил data-cache=false и data-dom-cache=false в page1.html аннотацию, но это не поможет.

Как можно jQuery Mobile не кэшировать page1.html с данным сценарием?

ответ

1

Я использую рабочий стол, который вручную удаляет страницу на основе атрибута data-dom-cache. Вам нужно добавить обработчик событий для pagehide события и проверить на domCache свойство данных страницы

$(document).on('pagehide', function(event, ui){ 
      var page = $(event.target); 
      var pageData = page.data(); // get all the data attributes (remove the data prefix and format to camel case) 
      if(pageData.domCache == false){ 
       console.log("Removing Page (id: " + page.attr('id') + ", url: " + pageData.url + ")"); //Log to console for debugging 
       page.remove(); // remove the page 
     } 
    }); 
+0

спасибо большое, он прекрасно работает. Интересно, почему функциональность не включена по умолчанию ... – viniciusnz

Смежные вопросы