2009-02-25 16 views
5

Quiero usar jQuery en un complemento de la biblioteca JS que se puede agregar a sitios web aleatorios. Estos sitios web ya pueden o no usar jQuery.jQuery en el widget

tengo 3 preguntas en torno a esta realidad:

  1. probablemente voy a cargar jQuery dinámica a partir de mi propia escritura de JS (no de una etiqueta de script en el encabezado del documento). ¿Funcionará jquery de esta manera? ¿Cómo puedo asegurarme de que se ejecutará a tiempo sin tener el $ (documento) estándar. (Función() {} en el documento principal?

  2. ¿Qué debo hacer para evitar conflictos con jQuery existente (si existe)? . en el código del sitio web

  3. ¿existe un método recomendado para añadir un widget que incluye jQuery para sitios web al azar mientras que proporciona código mínimo y la integración más sencilla

+0

¿ha terminado su artilugio? ¿Está disponible para consumo público? – russau

Respuesta

5

Esto es bastante suelta e incompleta -. y realmente está destinado a ser un punto de partida:

if (typeof $ != 'undefined') { 
    var msg = 'This page already using jQuery v' + $.fn.jquery; 
} else { 
    var s = document.createElement('script'); 
    s.setAttribute('src', 'http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js'); 
    document.getElementsByTagName('head')[0].appendChild(s); 
    var msg = 'This page is now jQuerified'; 
} 

luego esperar a través de un breve setTimeout() antes de ejecutar una función de lista()

+0

you beaut .. esto es exactamente lo que estaba buscando – russau

+2

Ten en cuenta que $ no solo es usado por jquery. – micmcg

+1

omita el bad setTimeout después de agregar el script, y vaya por s.onload = s.onreadystatechange = function() {... y compruebe el 'readyState'. – vsync

Cuestiones relacionadas