2009-01-13 10 views
5

Así que he podido hacer que Greasemonkey y jQuery 1.2.6 trabajen juntos sin problemas, pero ahora me pregunto cómo incorporar complementos jQuery adicionales en mi script de Greasemonkey, tales como el complemento SimpleModal de Eric Martin (http://www.ericmmartin.com/projects/simplemodal/).Cómo incrustar complementos jQuery adicionales en Greasemonkey

El siguiente código se carga jQuery, pero no estoy seguro de cómo llegar SimpleModal cargado correctamente:

var GM_JQ = document.createElement('script'); 
    GM_JQ.src = 'http://jqueryjs.googlecode.com/files/jquery-1.2.6.min.js'; 
    GM_JQ.type = 'text/javascript'; 
    document.getElementsByTagName('head')[0].appendChild(GM_JQ); 

    var GM_JQ_SM = document.createElement('script'); 
    GM_JQ_SM.src = 'http://simplemodal.googlecode.com/files/jquery.simplemodal-1.2.2.min.js'; 
    GM_JQ_SM.type = 'text/javascript'; 
    document.getElementsByTagName('head')[0].appendChild(GM_JQ_SM); 

    // Check if jQuery's loaded 
    function GM_wait() { 
     if(typeof unsafeWindow.jQuery == 'undefined') { 
      window.setTimeout(GM_wait,100); 
     } 
     else { 
      $ = unsafeWindow.jQuery; 
     } 

    } 
    GM_wait(); 

Alguien tiene alguna idea? Gracias.

Respuesta

11

En primer lugar, si estás bien con no tener acceso a la depuración de Firebug la forma más fácil de incluir jQuery es utilizar la configuración exigir:

// @require  http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js 
// @require  http://ajax.googleapis.com/ajax/libs/jqueryui/1.5.2/jquery-ui.min.js 

Siguiendo esa línea se pueden incluir otras secuencias de comandos externos. La mayoría de los complementos de jquery no están disponibles como la aplicación jquery, pero puede alojarlos usted mismo.

Uso del requieren también le permite volcar todo el código de carga y sólo tiene que ir con:

$(document).ready(function() { ... }); 

Firebug informar de los errores, pero no será capaz de entrar en el depurador.

Además, una vez que haya cargado jQuery puede cargar otros artículos de este modo:

$('head').append("<link href='http://www.somewebsite.com/styles.css' type='text/css' rel='stylesheet'>"); 
+0

Muchas gracias rockitsauce! Eso funcionó bien, después de darme cuenta de que tenía que desinstalar/reinstalar el script de Greasemonkey para que descargara copias locales de los archivos de jQuery. – Carl

+0

Estoy tratando de usar el mismo código. = nada haciendo? ¿alguna ayuda? – adardesign

+0

Es posible que desee actualizar los números de versión en su respuesta. –

Cuestiones relacionadas