Search code examples
androidioscordovaback-buttonback-button-control

Phonegap - navigator.app.backHistory() not working on HTML back button


In my app i am using phonegap 2.6.For back button, I am using the following function

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

function onBackKeyDown() {
    alert("hello");
    navigator.app.backHistory();
}

document.addEventListener('deviceready', onDeviceReady, true);

The above function works fine when I click on the device's hardware back button. But when I click on the back button it is not working.

I have designed my back button as below:

<a class="ui-link" href="#" rel="external" onclick="onBackKeyDown()">
        <img src="images/icon-back.png" alt="Phone" border="0">
</a>

But this button is working fine for this navigator.app.exitApp(); (application exit).

//Working Fine
function onBackKeyDown() {
    navigator.app.exitApp();
}

//Not Working
function onBackKeyDown() {
    navigator.app.backHistory();
}

but not working for navigator.app.backHistory();.


Solution

  • I have tried 3 separate things when I faced the same situation:

    • window.history.back()

    • navigator.app.backHistory();

    • History.go(-1);

    Individually, none of these solve the problem. I put all 3 things together and much to my surprise it worked. I really don't know what is behind it.

    Then I decreased to two functions and removed:

    • window.history.back()

    Now I am using this function and it is working fine.

    //Works Fine
    function onBackKeyDown() {
        history.go(-1);
        navigator.app.backHistory();
    }