¿Cuál es la forma correcta (hasta la fecha) de usar JQuery Mobile y Phonegap juntos?
Ambos marcos deben cargarse antes de poder usarse. ¿Cómo puedo estar seguro de que ambos están cargados antes de poder usarlos?
¿Cuál es la forma correcta (hasta la fecha) de usar JQuery Mobile y Phonegap juntos?
Ambos marcos deben cargarse antes de poder usarse. ¿Cómo puedo estar seguro de que ambos están cargados antes de poder usarlos?
ondeviceReady
que se active el evento desde su código JQM ...Respuestas:
Puede utilizar la función diferida de JQuery.
fuente
cordova.js
? ¿Debe cargarse antes o después de JQM?Así es como funcionó para mí, según el ejemplo anterior
fuente
Para usar phonegap junto con jquery mobile, debe usarlo así
fuente
Como muchas personas sugirieron que usar un diferido es una buena opción siempre y cuando no te importe qué orden
deviceready
y quémobileinit
sucede. Pero en mi caso, necesitaba algunospageshow
eventos cuando la aplicación se cargó por primera vezmobileinit
y, por extensión, esos eventospageshow
/pagebeforeshow
/ etc. todos disparando antes dedeviceready
terminar, por lo que no pude unirlos correctamente usando un diferido en ellos. Esta condición de carrera no fue buena.Lo que tenía que hacer era asegurarme de que 'mobileinit' no se llevara a cabo hasta después de que '
deviceready
' ya fuera despedido. Porque semobileinit
dispara inmediatamente cuando cargas JQM que elegí usarjQuery.getScript
para cargarlo DESPUÉS de quedeviceready
ya estuviera terminado.La razón por la que oculto el cuerpo es que un efecto secundario de este método es medio segundo de visibilidad del documento HTML original antes de que se cargue jquery.mobile. En este caso, se prefiere ocultarlo medio segundo adicional de espacio vacío a ver el documento sin estilo.
fuente
index.html
<script>
etiqueta.Creo que no es necesario utilizar la función diferida. (¿Quizás esto no sea necesario con las versiones más nuevas de phonegap?) Tengo esto en el encabezado de mi archivo index.html y todo funciona bien. Creo que el orden de inclusión de jquery, phonegap y jquery mobile es importante.
fuente
esto es trabajo para mi base en dhaval, esta muestra cuando aprendo a usar sqlite
fuente
Para aprovechar la respuesta de @ Jeffrey, encontré una forma mucho más limpia que oculta el marcado HTML hasta que JQM haya terminado de procesar la página y muestre el primer elemento de la página, ya que he notado que 1/2 segundo parpadea en el marcado desnudo antes de que se procese JQM.
Solo necesita ocultar todo el marcado con css ... PageShow () de JQM alternará la visibilidad por usted.
fuente
Lo siguiente funcionó para mí en PG 2.3 y JQM 1.2, incl. Complemento de Facebook Connect:
fuente
La carga de PhoneGap es ligeramente diferente a la carga de jQuery. jQuery funciona más como una biblioteca de utilidades, por lo que incluye eso y está disponible para su uso de inmediato. Por otro lado, PhoneGap requiere soporte de código nativo para una inicialización adecuada, por lo que no está listo para usarse poco después de incluirse en la página.
Phonegap sugiere registrarse y esperar a que el
deviceready
evento ejecute cualquier código nativo específico.Para obtener más información, consulte el documento.
fuente
#form
es la primera página, entonces no recibirápageinit
devolución de llamada porque es demasiado tarde