본문 바로가기
모바일/CORDOVA

cordova-plugin-inappbrowser

by 죠부니 2018. 6. 29.
반응형

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을 통해서 받아온다.

반응형