2012-06-26 15 views
6

Tengo una aplicación que usa jquery mobile y consiste en unas pocas páginas html cada una con algunos elementos de página jquery dentro de ellas. En un navegador de escritorio todo funciona bien, pero cuando lo cargo en mi dispositivo Android (ejecutando 2.3) la primera página se ve bien, pero cada vez que hace clic en un enlace (digamos desde index.html -> logged-in-menu.html jquery móvil no parece que entran en juego y no se aplican estilos de. Si luego volver a index.html de la página actual a continuación, index.html se deja sin estilo.Forma correcta de utilizar phonegap y jquery mobile con múltiples páginas html

entonces, ¿hay una correcta manera de moverse entre páginas hTML independientes? yo no obtienen los errores del navegador por lo que todo parece estar funcionando bien, pero se aplican ninguno de los estilos o características de JQM.

Sólo para que todos estén en la misma página, los enlaces utilizan datos -ajax = "false" para que causen una p completa actualización de edad (ya que esto es obligatorio), la aplicación no puede funcionar como una aplicación de una sola página, por lo que poner todo en un gran archivo html no es una opción.

+1

¿Puede poner la fuente del archivo html principal y el archivo html que está transfiriendo a '(index.html -> logged-in menu.html) 'si es posible – dhaval

+0

Si está refrescando completamente la página, entonces imagino que necesitará referencias a los archivos JQuery y PhoneGap/Cordova JS y CSS en cada página HTML. ¿Has hecho esto? – csbrookes

+0

Probablemente tenga un error en sus rutas. Compruebe Logcat. Descargue y enlace localmente jquery/jquery mobile y su CSS. –

Respuesta

4

Si no obtiene un estilo, o bien tiene un documento CSS faltante, un error JS o no ha estructurado el HTML correctamente en la página nueva.

+0

Eso es lo que pasa, no hay ningún error de JS, no se borra nada de Logcat. Funciona bien en los navegadores de escritorio Chrome, Firefox, etc. No hay errores en absoluto, ya que utilizo las pruebas de aceptación basadas en JSLint, JSTestRunner y Selenium. Para probarlo todo funciona como se esperaba. La mayor parte de la funcionalidad se comparte entre las páginas, de modo que si no funcionaba ninguna página, lo entendería, pero la primera página funciona bien (lo que carga un montón de css, js y kicks JS vinculantes). Así que como las páginas subsiguientes no funcionan (incluso volver a index.html se rompe pero sin errores js). – Grofit

+0

Todavía es probable un error JS o CSS. Los navegadores de escritorio no son el navegador interno. Sugeriría usar el registro incorporado para ver si fallan algunas partes de tu JS. Además, si PhoneGap tiene un modo de depuración lo activaría. Sé que agregaron la funcionalidad de registro un tiempo atrás, pero no lo he usado ya que era Alpha/Beta. El registro regular de JS en Android se documenta aquí: http://developer.android.com/guide/webapps/debugging.html –

+0

Cuando dices registro integrado ¿a qué te refieres? He intentado usar el material de depuración de phonegap en el que incluye el js con #someUniqueName y vaya a debug.phonegap.com/ /someUniqueName, pero de nuevo no hay errores allí. Las cosas javascript se activan cuando coloco manualmente una alerta una vez que todas mis cosas dinámicas se cargaron, y ocurrió (más lento de lo que esperaba). ME ENCANTARÍA un error ya que podría solucionarlo en ese momento, pero actualmente estoy en el limbo con él :( – Grofit

0

Otra alternativa es dividir las páginas (e incluso los paneles dentro de una página) en archivos de plantilla separados .html cargados dinámicamente y presentarlos según sea necesario. Consulte el tutorial sobre "creación de aplicaciones móviles con KnockoutJS, PhoneGap y jQuery Mobile" http://bit.ly/crmakopgjqm

Cuestiones relacionadas