¿Cómo include jQuery en un file externo .js?

Quiero proporcionar a mis clientes un código simple para insert y get mi complemento.

El código:

<div id='banner-lujanventas'></div> <script src="http://lujanventas.com/plugins/banners/script.js" type="text/javascript"></script> 

El problema es que mi complemento solo funciona con jQuery. ¿Cómo puedo verificar si una versión de jQuery está instalada en mi file script.js y si no la incluyo? (Solo puedo modificar mi file /script.js)

Crea tu propio elemento de script:

 if (typeof jQuery === "undefined") { var script = document.createElement('script'); script.src = 'http://code.jquery.com/jquery-latest.min.js'; script.type = 'text/javascript'; document.getElementsByTagName('head')[0].appendChild(script); } //edit window.onload = function() { $(function(){ alert("jQuery + DOM loaded."); }); } 

Debe colocar su código de carga real en una function window.onload() , y NO en una function $(document).ready() , porque no es necesario cargar jquery.js en este momento.

Puede verificar la variable jQuery

 if (typeof jQuery === 'undefined') { // download it } 

Para download opciones, por ejemplo, asynchronous vs. document.write , echa un vistazo a este artículo .

Algo como esto:

 <script>!window.jQuery && document.write(unescape('%3Cscript src="http://yourdomain.com/js/jquery-1.6.2.min.js"%3E%3C/script%3E'))</script> 

Saqué un código viejo que busca una versión particular de jQuery y lo carga si no se encuentra y además evita el conflicto con cualquier jQuery existente que la página ya usa:

 // This handles loading the correct version of jQuery without // interfering with any other version loaded from the parent page. (function(window, document, version, callback) { var j, d; var loaded = false; if (!(j = window.jQuery) || version > j.fn.jquery || callback(j, loaded)) { var script = document.createElement("script"); script.type = "text/javascript"; script.src = "http://code.jquery.com/jquery-2.1.0.min.js"; script.onload = script.onreadystatechange = function() { if (!loaded && (!(d = this.readyState) || d == "loaded" || d == "complete")) { callback((j = window.jQuery).noConflict(1), loaded = true); j(script).remove(); } }; (document.getElementsByTagName("head")[0] || document.documentElement).appendChild(script); } })(window, document, "2.1", function($) { $(document).ready(function() { console.log("Using jQuery version: " + $.fn.jquery); // Your code goes here... }); });