Estoy creando un complemento jQuery personalizado para un proyecto en el que estoy trabajando. Quiero devolver un objeto que es personalizado a otro plugin de jQuery ... en lugar de tener que asegurarme de que cada página que usa mi complemento también tiene este otro complemento, ¿es posible incluirlo en el plugin actual?Cómo incluir un complemento externo dentro de otro complemento jQuery que se está creando
En lugar de escribir lo siguiente en cada página que utiliza mi plugin:
<script type="text/javascript" src="url_to_my_plugin" />
<script type="text/javascript" src="url_to_plugin" />
quería ver si hay una opción que permitiría algo así como:
(function($) {
$.include('url_to_plugin');
//code to implement my plugin
})(jQuery);
Gracias por la sugerencia Marko ... Puedo estar haciendo algo mal porque el complemento al que me refiero no está siendo reconocido. A continuación se muestra el código:
(function($) {
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = 'jquery.simplemodal.js'; //in same dir as my plugin
//tried both
document.body.appendChild(script);
document.getElementsByTagName('head')[0].appendChild(script);
$.fn.SUI_CheckProgress = function(options) {
return this.each(function() {
var obj = $(this);
var nDiv = $('<div>');
nDiv.modal(); //error nDiv.modal() is not a function
$(obj).append(nDiv);
}
};
});
Probé declarar el guión tanto dentro como fuera de la llamada a la función (lo ideal es que suceda a nivel mundial). Verifiqué que el código se ejecuta correctamente si hago referencia al script en la página desde la que llamo, sin embargo, cuando elimino la referencia, falla. Se agradecería cualquier información adicional sobre cómo agregar secuencias de comandos programáticamente a una página.
Solucionado: Mi problema era que estaba haciendo referencia al mismo directorio que el plugin js, sin embargo, cuando se agrega a la página está fuera de ese directorio.
fue
script.src = 'jquery.simplemodal.js';
fija
script.src = 'js/jquery.simplemodal.js';
no es necesario hacer 'obj' en un jQuery Objeto dos veces ... use 'obj.append (nDiv)' – Mottie
que en realidad era porque la llamada está incrustada dentro de una llamada ajax, dejé las cosas ajax para simplificar. – jon3laze