Question

Je vous écris une application PhoneGap que je veux courir sur iOS, Android et webOS. jQTouch joue bien avec tout sur iOS et Android, mais pas webOS.

Depuis le cadre webOS Mojo est basé sur Prototype (qui utilise la variable $), il est nécessaire d'utiliser jQuery en mode noConflict. Je peux gérer beaucoup.

Cependant, le problème est que je veux aussi utiliser le plugin jQTouch. Le fichier jqtouch.js utilisations $ tout au long, ce qui provoque des erreurs JavaScript lorsque ce fichier est chargé.

Y at-il un moyen d'exécuter le plug-in jQTouch (ou tout autre plug-in pour cette matière) dans ma demande PhoneGap sans interférer avec Prototype?

Était-ce utile?

La solution

Vous devriez pouvoir l'envelopper dans une fermeture et passer jQuery dans Par exemple:.

(function($){
   alert($);
}("Hello"))

(function($){
   $("foo"); // uses the jQuery rather than $
}(jQuery))

Autres conseils

vous pouvez vous actualy débarrasser de prototyper donc il n'y a pas de conflit. lire Exerpt d'un de leurs guides de programmation:

Mojo est le cadre JavaScript standard que la plupart des applications webOS sont construits avec. Toutefois, si vous ne l'utilisez toutes caractéristiques alors il est juste vous coûter le démarrage du temps. Vous pouvez empêcher Mojo de chargement en commentant simplement la balise de script en haut de votre page index.html.

-> Mojo fait une chose que nous devons cependant. Il indique au gestionnaire de fenêtres lorsque l'application est complètement chargé et prêt à partir. Nous pouvons le faire manuellement à l'aide d'un simple gestionnaire d'événements onLoad. Ajouter le script suivant à la tête de la page index.html:

  fonction onLoad () {     si (window.PalmSystem) {         window.PalmSystem.stageReady ();     } }

Ensuite, ajoutez un appel à l'événement onload du corps.

C'est ça! Maintenant, l'application se charge sans Mojo et démarrage beaucoup plus rapidement.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top