Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Phonegap – navigator.app.backHistory () no funciona en el botón de retorno de HTML

En mi aplicación estoy usando phonegap 2.6.For botón de nuevo, estoy usando la siguiente función

document.addEventListener("backbutton", onBackKeyDown, false); function onBackKeyDown() { alert("hello"); navigator.app.backHistory(); } document.addEventListener('deviceready', onDeviceReady, true); 

La función anterior funciona bien cuando hago clic en el botón de hardware del dispositivo . Pero cuando hago clic en el botón Atrás no funciona.

He diseñado mi botón de la parte posterior como abajo:

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

Pero este botón está funcionando bien para este navigator.app.exitApp(); (Salida de la aplicación).

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

Pero no funciona para navigator.app.backHistory(); .

4 Solutions collect form web for “Phonegap – navigator.app.backHistory () no funciona en el botón de retorno de HTML”

He intentado 3 cosas separadas cuando me enfrenté a la misma situación:

  • window.history.back()

  • navigator.app.backHistory();

  • History.go(-1);

Individualmente, ninguno de ellos soluciona el problema. Puse todas las 3 cosas juntas y mucho para mi sorpresa funcionó. Realmente no sé qué hay detrás.

Entonces disminuí a dos funciones y quité:

  • window.history.back()

Ahora estoy utilizando esta función y está funcionando bien.

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

Si utiliza el atributo data-rel = "back" en un ancla, cualquier clic en ese ancla imitará el botón de retroceso, regresando una entrada de historial e ignorando el href predeterminado del ancla.

Depende de donde estés: en mi windowsphone 8.1 lumia 925, funciona history.go (-1); , Mientras que navigator.app.backHistory (); Causa una excepción antes de estrellarse.

En mi Android (creo que la mayoría), navigator.app.backHistory (); trabaja apropiadamente.

Resuelto Dejar de recibir "TypeError: navigator.app no ​​está definido"

Una función que he creado que primero comprobar qué dispositivo está en y luego aplicar el script correspondiente:

 function onBackKeyDown() { var userAgent = navigator.userAgent || navigator.vendor || window.opera; if (userAgent.match(/iPad/i) || userAgent.match(/iPhone/i) || userAgent.match(/iPod/i)) { // IOS DEVICE history.go(-1); } else if (userAgent.match(/Android/i)) { // ANDROID DEVICE navigator.app.backHistory(); } else { // EVERY OTHER DEVICE history.go(-1); } } 

Función de llamada agregando esto a su enlace / botón de la parte posterior:

 onclick="onBackKeyDown()" 
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.