Cordova (폰갭) backkey(취소키) 누를때 종료 팝업이 뜨게하기

코르도바 하이브리드 앱에서 종료팝업 사용하기 및 취소키 사용시 이슈


코르도바 하이브리드 앱에서 특정화면에서 취소키를 누르면 종료팝업이 뜨게 하고 싶다. 이럴때는..


<< 취소키 사용시 종료팝업이 뜨는 페이지 사용 예 >>


<script type="text/javascript">

function onLoad() {

   document.addEventListener("deviceready", onDeviceReady, false);

}

function onDeviceReady() {

   document.addEventListener("backbutton", onBackKeyDown, true);

}

function onBackKeyDown() {

   navigator.notification.confirm('앱을 종료하시겠습니까?', onBackKeyDownMsg, '스마트오더', '취소, 종료');

}

function onBackKeyDownMsg(button) {

   if(button == 2) {

       navigator.app.exitApp();

   }

}

</script>


<body onload="onLoad()">


한번 취소키에 어떤 변경을 가하면 그 후로부터 코르도바는 취소키가 동작되지 않는다.

즉 모든페이지에서 onBackKeyDown() 함수를 설정해야 한다. 이럴때

기본으로 제공되는 취소키 정의, 즉 이전화면으로 가는 기능을 사용하고 싶을때는..

navigator.app.overrideBackbutton(false);

이걸 사용하면 된다.


<< 취소키 사용시 이전화면으로 가는 페이지 사용 예 >>

</script>

<script type="text/javascript">

function onLoad() {

   document.addEventListener("deviceready", onDeviceReady, false);

}

function onDeviceReady() {

navigator.app.overrideBackbutton(false);

}

</script>


<body onload="onLoad()">


결재나 어떤 트랜잭션이 발생된 이후에 취소키를 눌러 이전화면으로 가면 안되겠죠?

이럴때는 다시 onBackKeyDown() 함수를 사용하여, 아무동작도 안하도록 하거나, 취소키를 사용할 수 없습니다 같은 팝업을 띄워주면 된다.


<< 취소키 사용시 동작이 안되도록 하는 페이지 사용 예 >>

    <script type="text/javascript" charset="utf-8">


    // Wait for device API libraries to load

    //

    function onLoad() {

        document.addEventListener("deviceready", onDeviceReady, false);

    }


    // device APIs are available

    //

    function onDeviceReady() {

        // Register the event listener

        document.addEventListener("backbutton", onBackKeyDown, false);

    }


    // Handle the back button

    //

    function onBackKeyDown() {

    }


    </script>


<body onload="onLoad()">




참고 URL

http://servedev.tistory.com/50


http://ggoreb.tistory.com/192

+ Recent posts