Domanda

Sto scrivendo un'applicazione in PhoneGap che voglio correre su iOS, Android e webOS. jQTouch gioca piacevole con tutto su iOS e Android, ma non webOS.

Dato che il webOS Mojo quadro si basa su Prototype (che utilizza la variabile $), è necessario utilizzare jQuery in modalità noConflict. Posso gestire più di tanto.

Tuttavia, il problema è che anche io voglio usare il plugin jQTouch. Gli usi di file jqtouch.js $ tutto, causando errori JavaScript quando viene caricato il file.

C'è un modo per eseguire il plugin jQTouch (o qualsiasi plug-in per questo) nella mia applicazione PhoneGap senza interferire con Prototype?

È stato utile?

Soluzione

Si dovrebbe essere in grado di avvolgere in una chiusura e passare jQuery in. Ad esempio:

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

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

Altri suggerimenti

actualy si può sbarazzarsi di prototipatore quindi non c'è alcun conflitto. leggere questo exerpt da una delle loro guide di programmazione:

Mojo è il quadro JavaScript standard che la maggior parte delle applicazioni webOS sono costruiti con. Tuttavia, se non si utilizza qualsiasi elemento all'interno allora è solo costare avvio tempo. È possibile impedire il caricamento di Mojo, semplicemente commentando il tag script nella parte superiore della pagina index.html.

-> Mojo fa una cosa di cui abbiamo bisogno comunque. Racconta il gestore di finestre quando l'applicazione è a pieno carico e pronto ad andare. Siamo in grado di farlo manualmente con un semplice gestore di eventi onLoad. Aggiungere il seguente script alla testa della pagina index.html:

  la funzione onLoad () {     if (window.PalmSystem) {         window.PalmSystem.stageReady ();     } }

Quindi aggiungere una chiamata nell'evento onload del corpo.

Questo è tutto! Ora l'applicazione verrà caricato senza Mojo e start up molto più rapidamente.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top