Un progetto su cui sto lavorando richiede l'uso di jQuery nelle pagine Web dei clienti. I clienti inseriranno un frammento di codice che forniremo che include alcuni elementi <script>
che creano un widget in un <script>
-creato . Se non stanno già utilizzando l'ultima versione di jQuery, questo includerà anche (molto probabilmente) uno <script>
per la versione ospitata da Google di jQuery.Posso utilizzare più versioni di jQuery nella stessa pagina?
Il problema è che alcuni clienti potrebbero già avere una versione precedente di jQuery installata. Anche se questo potrebbe funzionare se è almeno una versione abbastanza recente, il nostro codice si basa su alcune funzionalità introdotte di recente nella libreria jQuery, quindi ci sono necessariamente istanze in cui la versione jQuery di un cliente è troppo vecchia. Non possiamo richiedere che eseguano l'aggiornamento all'ultima versione di jQuery.
C'è un modo per caricare una versione più recente di jQuery da utilizzare solo nel contesto del nostro codice, che non interferirà con o influirà su alcun codice sulla pagina del cliente? Idealmente, forse potremmo verificare la presenza di jQuery, rilevare la versione e, se è troppo vecchia, caricare in qualche modo la versione più recente solo per il nostro codice.
Ho avuto l'idea di caricare jQuery in un nel dominio del cliente che include anche il nostro <script>
, che sembra possa essere fattibile, ma spero che ci sia un modo più elegante per farlo (per non parlare senza le penalità relative a prestazioni e complessità di extra s).
[Ecco un post dettagliato su noConflict() e utilizzando più librerie jQuery] (http://conceptf1.blogspot.com/2013/12/conflict-in-multiple-jquery-files-on-same-page.html) –
Mi sono imbattuto nello stesso problema. Dato che ho usato jQuery solo una manciata di volte nel mio script incorporato, ho deciso di rinunciare a jQuery del tutto e di fare semplicemente ciò di cui avevo bisogno direttamente in JavaScript. Questo sito: http://youmightnotneedjquery.com/ è stato estremamente utile. – Ferruccio