Cómo implementar la inserción dinámica de scripts JS y la inserción de scripts de enlaces externos referenciados
¿Qué es el script js insertado dinámicamente?
Esto significa que la página no existe cuando se carga, pero el script se agrega dinámicamente modificando el DOM en algún momento en el futuro. Esto es lo mismo que manipular elementos HTML.
También hay dos formas de insertar scripts dinámicamente en js: insertar código JavaScript e insertar archivos externos.
Primero, inserte el código javascript directamente
lt; script type="text/javascript"gt;
función sayHi() {
alert("hi");
}
lt;/scriptgt; Lógicamente, el siguiente código DOM es válido:
var script = document . appendChild(document.createTextNode("function sayHi() {alert('hi');}");
document.body.appendChild(script); En Firefox, Safari, Chrome y Opera, estos DOM todos los códigos funcionan bien, pero en IE, causan errores; IE trata a
script.text = "function sayHi() { alert('hi');}";
document.body.appendChild(script); El código modificado se puede utilizar en IE, Firefox, Opera y se ejecuta en Safari 3.0. Las versiones anteriores a Safari 3.0 no no admite atributos de texto, pero permite especificar código usando tecnología de nodo de texto appendChild(document.createTextNode(code));
} catch (ex) {
script .text = code;
}
document.body.appendChild(script) Pruebe primero el método de nodo de texto DOM estándar, ya que todos los navegadores lo admiten. La única excepción es IE, que arroja un error.
Si esta línea de código arroja un error, entonces es un problema de IE, por lo que debe usar el atributo de texto y todo el proceso se puede representar mediante la siguiente función:
function loadScriptString(code) {
var script = document.createElement(" script");
script.type = "text/javascript";
prueba {
script.appendChild(document. createTextNode(código));
} catch (ex) {
script.text = código
}
document.body .appendChild(script);
}
loadScriptString("function sayHi() {alert('hola');}"); referencia de archivo externo
Los archivos JavaScript externos cargados dinámicamente se pueden ejecutar inmediatamente, como el elemento