저는 새로운 Cordova 웹 개발자입니다. inapbrowser를 사용하여 웹 사이트를 자동으로로드하는 응용 프로그램을 만들고 있습니다. 문제는 다음과 같습니다. 응용 프로그램을 닫는 대신 뒤로 버튼을 클릭하면 사이트가로드 된 후 다시 돌아갑니다. inapp 브라우저가있는 빈 페이지, 뒤로 버튼을 누르면 응용 프로그램을 종료하는 방법 ??어떻게 내 안드로이드 장치에서 응용 프로그램을 종료하려면 코르도바에서 다시 버튼을?
답변
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();
}
}
질문의 핵심은 Official InAppBrowser Plugin Page의에서 addEventListener 섹션에있다 : 다음과 같이 샘플 코드입니다.
이 샘플을 사용하려했지만 작동하지 않았습니다.이 오류가 있습니다 ** "잡히지 않은 TypeError : 정의되지 않은"confirm '메서드를 호출 할 수 없습니다. ** –
@ Imen.A navigator 알림을 사용하려면 cordova-plugin-dialogs 플러그인을 설치해야합니다. 그 밖의 간단한 자바 스크립트 alertbox도 사용할 수 있습니다. – Gandhi
여기 네비게이터 알림없이 내 코드입니다. 'document.addEventListener ('deviceready ', function() { cordova.InAppBrowser.open ('http://example.com ' , '_blank', 'location = no'); document.addEventListener ("backbutton", onBackKeyDown, false); }}); onBackKeyDown() { navigator.app.exitApp(); }' –
안녕하세요,이 링크를보실 것을 권해드립니다. http://stackoverflow.com/help/how-to-ask이 문서를 따르지 않으면 궁극적으로 질문에 대한 하향 투표가 끝날 수 있습니다. 결국 명성을 잃으면 질문이 닫힙니다. 나는 당신이 이것에 대해 처음 알았지 만 이전에 똑같은 문제에 직면했음을 알았습니다. – Gandhi