HashNavigation в Cordova WP8 зависает приложение
У меня есть следующий код
function navigate(_hash){
alert('before');
//try#1
window.location.hash = _hash;
//try#2
// window.location.href=window.location.href.split("#")[0]+"#" +url;
alert('after');
}
navigate('someurl')
проблема в том, что после изменения URL-хеша (оба варианта) приложение просто зависает. И что интересно, второе оповещение не стреляет. так что приложение просто... вылетает через некоторое время. Ничего в консоли JS. Журнал отладки говорит
Нить 0x*** вышла с кодом 259 (0x103).
гугл ничего не нашел по этому поводу. Похоже, это код ошибки acommon. Более подробно: я использую ChaplinJs, поэтому просто не могу уйти от хэш-навигации.
Вторая мысль заключалась в том, что Чаплин перегружает систему, и мы не можем добраться куда угодно, но (!) размещение журналов и предупреждений в источнике lib в window.on('hashchange',....) также не прилагало никаких усилий, потому что мы этого не делаем. иди туда.
WP 8.0 пробовал оба Cordova 4.* и 5.* также пытался изменить xhrXelper.cs, но это не связано с самой тонавигацией
PS: я знаю, что jquery mobile предлагает отключить хэш-шансы на мобильной навигации. Но я не могу:(
PPS: также попробовал изменить чаплинских изменений
new App({routes: routes, controllerSuffix: '-controller', pushState: false,hashChange:true})
но это также не дало хороших результатов, потому что он помещает хэш в href, чтобы проверить его с интервалом, и приложение снова зависло. Итак, я предполагаю, что это проблема веб-просмотра
Дополнительная информация: постоянный перезапуск приложения иногда заставляет его работать (1 прогон из 10 может заставить его работать). Это очень странно.
Эмулятор и устройство ведут себя одинаково.
Обновление: прочитайте где-нибудь, что важно ограничить навигацию перед событием "deviceready". Но это тоже не тот случай.
Обновление 2: создание Cordova Proj с нуля. Добавлено изменение хэша Indeviceready CB, и он зависает
Update3: тот же код на 8.1 работает отлично