Quelle est la manière correcte (à ce jour) d'utiliser JQuery Mobile et Phonegap ensemble?
Les deux frameworks doivent se charger avant de pouvoir être utilisés. Comment puis-je être sûr que les deux sont chargés avant de pouvoir les utiliser?
Quelle est la manière correcte (à ce jour) d'utiliser JQuery Mobile et Phonegap ensemble?
Les deux frameworks doivent se charger avant de pouvoir être utilisés. Comment puis-je être sûr que les deux sont chargés avant de pouvoir les utiliser?
ondeviceReady
événement ne soit déclenché à partir de votre code JQM ...Réponses:
Vous pouvez utiliser la fonctionnalité différée de JQuery.
la source
cordova.js
? Doit-il être chargé avant ou après JQM?Voici comment cela a fonctionné pour moi, basé sur l'exemple ci-dessus
la source
Pour utiliser phonegap avec jquery mobile, vous devez l'utiliser comme ceci
la source
Comme beaucoup de gens l'ont suggéré, utiliser un différé est une option acceptable tant que vous ne vous souciez pas de l'ordre
deviceready
et dumobileinit
déroulement. Mais dans mon cas, j'avais besoin de quelquespageshow
événements lors du premier chargement de l'application etmobileinit
, par extension, ces événementspageshow
/pagebeforeshow
/ etc étaient tous tir avant ladeviceready
fin, donc je ne pouvais pas me lier à eux correctement en utilisant un différé sur eux. Cette condition de course n'était pas une bonne chose.Ce que je devais faire, c'était m'assurer que «mobileinit» n'avait lieu qu'après que «
deviceready
» ait déjà été viré. Parce que semobileinit
déclenche immédiatement lorsque vous chargez JQM, j'ai choisi de l'utiliserjQuery.getScript
pour le charger APRÈS avoirdeviceready
déjà terminé.La raison pour laquelle je cache le corps est qu'un effet secondaire de cette méthode est une demi-seconde de visibilité du document HTML d'origine avant le chargement de jquery.mobile. Dans ce cas, il est préférable de le masquer une demi-seconde supplémentaire d'espace vide plutôt que de voir le document sans style.
la source
index.html
<script>
balise.Je pense qu'il n'est pas nécessaire d'utiliser la fonction différée. (Peut-être que ce n'est pas nécessaire avec les nouvelles versions de phonegap?) J'ai ceci dans la tête de mon fichier index.html et tout fonctionne bien. Je pense que l'ordre d'inclusion de jquery, phonegap et jquery mobile est important.
la source
c'est du travail pour moi. base sur dhaval, cet exemple lorsque j'apprends à utiliser sqlite
la source
Pour construire sur la réponse de @ Jeffrey, j'ai trouvé un moyen beaucoup plus propre qui cache le balisage HTML jusqu'à ce que JQM ait fini de traiter la page et rende le premier élément Page, car j'ai remarqué que 1/2 seconde de scintillement de balisage nu avant le rendu de JQM.
Il vous suffit de masquer tout le balisage avec css ... PageShow () by JQM basculera la visibilité pour vous.
la source
Ce qui suit a fonctionné pour moi sur PG 2.3 et JQM 1.2, incl. Plugin Facebook Connect:
la source
Le chargement de PhoneGap est légèrement différent du chargement de jQuery. jQuery fonctionne davantage comme une bibliothèque d'utilitaires, vous incluez donc cela et il est immédiatement disponible. D'autre part, PhoneGap nécessite la prise en charge du code natif pour une initialisation correcte, de sorte qu'il n'est pas prêt à être utilisé peu de temps après son inclusion dans la page.
Phonegap suggère de s'inscrire et d'attendre l'
deviceready
événement exécutant un code spécifique natif.Pour plus d'informations, consultez la doc
la source
#form
êtes la première page, vous ne recevrez pas depageinit
rappel car il est trop tard