English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Método uno: nativo
El contenido de adc.js es el siguiente:
var hello = "H9";
html.html
<script> var s = document.createElement("script"); s.src = "abc.js"; document.head.appendChild(s); s.addEventListener("load",function(){ // esperar a que el evento de carga de s se complete para evitar errores al llamar antes de que se haya cargado console.log(hello); ) setTimeout(function(){//o use un temporizador para asegurar que se llame después de que se haya cargado (no seguro, es mejor escuchar eventos) console.log(hello); ,1000); // $.getScript("abc.js"); </script>
Método dos: jquery.js
$.getScript("abc.js",function(){ alert("heheheh"); console.log(hello); });
<script type="text/javascript" src="..}}/jquery.js"></script> <script type="text/javascript"> $(function() { $('#loadButton').click(function(){ $.getScript('new.js',function(){ newFun('"Checking new script"');//Esta función está en new.js, se ejecuta esta función cuando se hace clic en click }); }); }); </script> </head> <body> <button type="button" id="loadButton">Load</button>
Método tres: require.js
Compartir require.js2.1.1Versión, atención, es para proyectos grandes, en la mayoría de los casos se puede usar jquery
index.html
<!--Se puede omitir el archivo de entrada main; se puede omitir el js-->
<script data-main="main" src="require.js"></script>
main.js
console.log("¡Hola mundo!"); require(["js1","js2","js3],function () { // Es una carga asíncrona. El sufijo .js puede omitirse console.log("¿Han terminado de cargar? "); var total = num1+num2+num3; console.log(total); hello1(); hello2(); hello3(); )
Se puede importar archivos js de manera sencilla utilizando requireJs, pero hay que tener en cuenta los problemas de colisión de nombres de variables y métodos. Causa: Los archivos js del navegador comparten el ámbito global, y los nombres de variables y métodos en el ámbito pueden ser sobrescritos.