Я унаследовал приложение Cordova/PhoneGap, использующее Cordova 3.4. Моя первая задача состояла в том, чтобы реализовать инфраструктуру маршрутизации на стороне клиента, чтобы упростить навигацию между страницами. Я выбрал Flatiron Director в качестве моего клиентского маршрутизатора, но когда я начал его реализовывать, я начал получать необычную функциональность из приложения.PhoneGap/Cordova с маршрутизации на стороне клиента?
Моя первая настройка роутера:
var routing = {
testHandler: function(){
console.log('Route ran');
},
routes: function(){
return {
"/testhandler": testHandler
}
}
};
console.log('Routes added');
Добавлены маршруты (по крайней мере, на основе вывода консоли). Когда я пытаюсь попасть в хэш-файл/testhandler, я получаю сообщение «Ошибка при загрузке ресурса: файл: /// testhandler», когда я устанавливаю window.location.hash в «/ testhandler». Я заметил, что заявление «Route ran» не было напечатано.
Моя следующая попытка состояла в том, чтобы использовать событие hashchange с jQuery.
$(window).on('hashchange', function(){ console.log('Ran'); });
На этой попытки, независимо от того, что я изменить хэш, я вижу «Ран» выход, но я по-прежнему получаю «Не удалось загрузить ресурс:» ошибка.
Это проблема с PhoneGap/Cordova? Или наша реализация? Можно ли использовать маршрутизацию на стороне клиента с помощью Cordova? Что я делаю не так?
Это на самом деле JQuery Mobile, которая пытается найти файл после хэша. Отключение jQuery Mobile позволяет директору работать нормально. Я также забыл кусок кода инициализации для директора. Теперь все хорошо. – thisisnotabus