이 질문은 이미 여러 번 제기되었습니다. 그러나 나는 그것을 해결하는 방법을 모르는 상태에서 여전히 문제로 고심하고있다.Phonegap 안드로이드 버튼이 inAppBrowser를 닫습니다.
내 매우 원시적 응용 프로그램 코드 :
<!DOCTYPE html>
<html>
<head>
<title>Standalone Example</title>
<script type="text/javascript" charset="utf-8" src="cordova.js"></script>
<script type="text/javascript" charset="utf-8">
document.addEventListener("deviceready", onDeviceReady, false);
var iabRef = null;
function onDeviceReady() {
iabRef = window.open('http://example.com', '_blank', 'location=no', 'zoom=no', 'hardwareback=yes');
iabRef.addEventListener('exit', iabClose);
}
function iabClose(event) {
iabRef.removeEventListener('exit', iabClose);
}
</script>
</head>
<body>
</body>
</html>
은 폰갭 포럼에 나는 안드로이드 하드웨어 뒤로 버튼 기능이 기본적으로 추가 된 것을 읽었다. 그러나 그것은 여전히 나를 위해 작동하지 않습니다.
원하는 동작 : 페이지의 여러 링크를 탐색하고 뒤로 탭하여 이전 페이지를 볼 수 있습니다.
실제 동작 : 여러 링크를 탐색 한 후 inAppBrowser를 다시 누르면 이전 페이지 대신 흰색 화면이 나타납니다.
내가 알듯이 hardwareback 속성도 추가되었지만 운이 없습니다.
document.addEventListener("backbutton", function(e){
e.preventDefault();
navigator.app.backHistory()
}, false);
그리고 다시 행운을 : 나는 또한 TI는 onDeviceReady 함수 내에서이 코드를 넣어 함께 버튼 동작을 다시 납치했습니다. 몇 가지 다른 기기에서 시도해 보았습니다. 나는 나가 놓친 아주 간단한 일이다는 것을 짐작한다. 어떤 아이디어?
중요한 점은 build.phonegap.com에 앱을 빌드한다는 것입니다.
[inAppBrowserRef.executeScript ({code : scriptErrorMesssage})]를 사용하여 ['window.history.back()'] (http://www.w3schools.com/jsref/met_his_back.asp)을 주입 해 보았습니까? (https://github.com/apache/cordova-plugin-inappbrowser#inappbrowserexecutescript)? – daserge
@daserge, 'backbutton'이벤트 리스너를 사용 하시겠습니까? 그렇다면 다시 운이 없었습니다. – Denis