Я новый веб-разработчик в Кордове. Я создаю приложение, которое автоматически загружает веб-сайт с помощью inapbrowser. Моя проблема: после загрузки сайта, когда я нажимаю на подставку, вместо закрытия приложения она возвращается к пустая страница, содержащая браузер inapp, как сделать, чтобы закрыть приложение, когда я нажимаю кнопку «Назад»?Как выйти из приложения с моей кнопки Android назад в Кордове?
ответ
Возможно, вы зарегистрируете событие на задней панели на странице загрузки InAppBroswer и выйдите из приложения нажатием кнопки «Назад». Пример кода выглядит следующим образом:
function onBodyLoad() {
document.addEventListener("deviceready", onDeviceReady, false);
}
function onDeviceReady() {
//inapp is a sample button's id available in HTML
$('#inapp').click(function()
{
try {
ref = cordova.InAppBrowser.open('http://apache.org', '_blank', 'location=yes');
ref.addEventListener("exit", onBackButton, false);
}
catch(err) {
alert("Plugin Error - " + err.message);
}
});
function onBackButton(e) {
alert("back button pressed");
navigator.app.exitApp();
}
}
Ключ к вашему вопросу находится в разделе addEventlistener в Official InAppBrowser Plugin Page.
Я попытался использовать этот образец, но он не работает, у меня есть эта ошибка ** «Uncaught TypeError: не может вызвать метод« подтвердить »неопределенного» ** –
@ Imen.A Вы должны установить плагин cordova-plugin-dialogs, чтобы использовать уведомление навигатора. Кроме того, вы можете использовать простой javascript alertbox слишком – Gandhi
вот мой код без уведомления навигатора, в чем проблема 'document.addEventListener ('deviceready', function() { cordova.InAppBrowser.open ('http://example.com' , '_blank', 'location = no'); document.addEventListener ("backbutton", onBackKeyDown, false); }); функция onBackKeyDown() { navigator.app.exitApp(); } ' –
Hi Imen, предлагаю вам взглянуть на эту ссылку - http://stackoverflow.com/help/how-to-ask Если вы не будете следовать этому, вы можете в конечном итоге получить массу голосов по вашему вопросу и в конечном итоге потерять репутацию, и вопрос будет закрыт. Я знаю, что вы новичок в этом, но я говорю об этом, поскольку я тоже сталкивался с той же проблемой ранее. – Gandhi