Я пытаюсь найти обходной путь для обновления вложенных списков с помощью 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('#'));
, но это становится намного более изменчивым для пользователя.
Я надеюсь, что кто-нибудь сможет пролить свет на то, что можно сделать лучше или как это можно сделать лучше/надежнее.