Кордова Windows Phone кнопка возврата не работает
У меня есть универсальное приложение с Cordova и PhoneJS, и я создаю его с помощью Phonegap для iOS, Android и Windows Phone. Стиль Windows Phone удаляет кнопку "Назад" в представлениях для перехода назад. Когда я нажимаю кнопку возврата оборудования, приложение закрывается.
Вот почему я хочу переопределить функциональность кнопки "назад". Я нашел много документации, в которой говорится, что вам нужно зарегистрироваться в событии " backbutton " на " deviceready " после загрузки Cordova.
События ' on load ' и ' deviceready ' вызываются успешно. Проблема в том, что событие кнопки "Назад" не вызывается, и приложение все еще закрывается.
Версии:
npm list -g cordova
...\AppData\Roaming\npm
└─┬ phonegap@5.3.7
└── cordova@5.4.0
Прибор:
- Microsoft Lumia 640 LTE
- Windows Phone 8.1 Обновление 2
Код:
// Is invoked
function onLoad() {
document.addEventListener("deviceready", onDeviceReady, false);
}
// Is invoked
function onDeviceReady() {
document.addEventListener("backbutton", onBackButton, false);
}
// Is not invoked
function onBackButton(){
debugger;
}
<body onload="onLoad()">
</body>
1 ответ
Я узнал, что включенный PhoneJS использует WinJS. С этим я мог установить действие " onbackclick ".
function onLoad() {
document.addEventListener("deviceready", onDeviceReady, false);
}
function onDeviceReady() {
// Check if WinJS api is available
if(WinJS){
WinJS.Application.onbackclick = function (e) {
MyApp.app.navigationManager.back();
// Return true otherwise it will close app.
return true;
}
}
}
<body onload="onLoad()">
</body>