cordova-plugin-inappbrowser
GIT : https://github.com/apache/cordova-plugin-inappbrowser
앱실행중 브라우저를 실행시켜서 보게한다.
내장브라우저로 실행시킬수도있고 앱의 시세템 브라우저로 연결시킬수도있다.
기본적으로는 외부 브라우저를 사용하지만 결제나 로그인같은 연동시 인앱브라우저를 자주 활용하게 된다.
var ref = cordova.InAppBrowser.open(url, target, options);
---
2018-06-29
인앱브라우저를 통해서 KMC(https://www.kmcert.com/) 모바일인증 연동을 했었다.
안드로이드에서는 문제없이 돌아갔지만 아이폰에서 문제를 일으켰다.
문제가 난 부분은
ref.executeScript 를 사용해서 결과값이 나오면 받는부분이었는데 로직상으로는 큰 문제가 없었다.
https://stackoverflow.com/questions/25199691/impossible-to-close-inappbrowser-window
해당 펑션형태로 변경하니 정상적으로 동작하였다.
function getStateSecondWindow()
{
ref.executeScript(
{code: "localStorage.getItem('loginOauth')"},
function(data)
{
alert(data);
}
);
}
setInterval(getStateSecondWindow, 5000);
---
추가팁
executeScript에서 code를 사용시 TEXT형태로 하나의 값만 거의 사용할수있다고 보면
서버쪽에서 결과를 localstorage에 JSON형태로 담아서 보낸후 받아서 사용하면 많은양의 정보를 컨트롤 할 수 있다.
SERVER전송부분
localStorage.setItem("result",JSON.stringify(result));
INAPPBROSER 호출한 부분에서 받아서 사용되는 부분
ref.executeScript({ code: "localStorage.getItem('result')" }, function (data) {
var data = JSON.parse(data);
});
code에 로컬스토리지로 getItem을 통해서 받아온다.
'모바일 > CORDOVA' 카테고리의 다른 글
Minimum supported Gradle version is 4.4. (0) | 2018.08.27 |
---|---|
cordova-plugin-ionic-keyboard (0) | 2018.07.17 |
cordova-plugin-splashscreen (0) | 2018.04.26 |
카카오톡 공유하기 플러그인관련 (0) | 2018.04.24 |
DEP10401 : Cordova Simulate에서 앱을 실행하려면 Google Chrome이 필요합니다. 하지만 이 컴퓨터에 Chrome이 설치되어 있지 않습니다. https://www.google.com/chrome/browser/index.html에서 Chrome을 설치하세요. (0) | 2018.04.09 |