Решение для обновления вложенных списков jQuery Mobile

Я пытаюсь найти обходной путь для обновления вложенных списков с помощью jquery Mobile версии 1.1, который в настоящее время оставляет вас с пустой страницей.

Я знаю, что одним из существующих решений является включение pushState, но это отправляет вас обратно в корень списка и портит состояние истории в вашем следующем вложенном представлении списка.

Решение, которое я придумалниже, некрасиво, но работает на iOS и более новых версиях Android.

$(document).bind("mobileinit", function(){

 var urlEx = '#&ui-page=5-0';  //ending of nested list url

 if (window.location.href.indexOf(urlEx) != -1){

  history.replaceState("", "0", "index.php");
   setTimeout("window.location.href='https://FULLURL#/FULLURL&ui-page=5-0'",100);
 }

 window.history.pushState("", "0", "index.php"); 

});

Я понимаю, что pushState и replaceState поддерживаются не каждым браузером, и что я мог бы попробовать вместо этого использовать:

window.location.href = window.location.href.substring(0,window.location.href.indexOf('#'));

, но это становится намного более изменчивым для пользователя.

Я надеюсь, что кто-нибудь сможет пролить свет на то, что можно сделать лучше или как это можно сделать лучше/надежнее.

9
задан Zuul 28 May 2012 в 13:20
поделиться