De um modo geral, se todo o código JavaScript necessário for carregado de uma só vez, a página inicial da Web desacelerará, mas muitos códigos carregados não precisam ser usados, e esse desperdício de desempenho desnecessário deve ser evitado. Se você deseja carregar dinamicamente o código JavaScript, pode usar o modelo DOM para adicionar um nó <SCRIPT> no documento HTML e definir o atributo SRC desse nó (ou seja, um arquivo JavaScript de divulgação) para o código JavaScript que precisa ser carregado dinamicamente.
Aqui está um exemplo de completar essa função:
(1) Crie um novo arquivo JSLoadeRerTest.html
<html xmlns = "http://www.w3.org/1999/xhtml"> <head> <meta http-equiv = "content-type" content = "text/html; charset = gb2312"/<title> Exemplo de carga JavScRastScrings no código "TIPO"/<titter> <title> da carga JavScript sobre o código JavScript sobre JavScript sobre JavScript sobre JavScript (Title "/<title> <title> da carga" e <tits) da carga/título ") JSLoader () {this.load = function (url) {// obtenha todas as tags <Cript> var ss = document.getElementsByTagName ("script"); // Teste se o arquivo especificado foi incluído. Se tiver sido incluído, acione o evento Onsuccess e retorne para (i = 0; i <ss.length; i ++) {if (ss [i] .src && ss [i] .src.indexOf (url)! =-1) {this.onsuccess (); retornar; }} // Crie um nó de script e defina seus atributos para o arquivo javascript de extensão s = document.createElement ("script"); S.Type = "Texto/JavaScript"; s.src = url; // Obtenha o nó da cabeça e insira <cript> em var head = document.getElementsByTagName ("head") [0]; Head.AppendChild (S); // Obtenha sua própria referência var self = this; // Para o navegador do IE, use o evento ReadyStatechange para determinar se a carga é bem -sucedida // para outros navegadores, use o evento OnLar da carga para determinar se a carga é bem -sucedida // s.onload = s.onReadyStatechange = function () {S.Onload = S.OnreadySTECHANGE = function) {// na função, este ponteador/refere -se para o não, o não, o que não é o que não é o que não é o que não é o que não é o que é o que não é o que você está, Evento Onsuccess, o mesmo abaixo. if (this.readyState && this.readyState == "carregamento") retornar; self.Onsuccess (); } s.onerror = function () {head.removeChild (s); self.onfailure (); }}; // Defina o evento de sucesso de carregamento this.Onsuccess = function () {}; // define o evento falhado this.onfailure = function () {}; } function btnClick () {// Crie o objeto var jsloader = new jsloader (); // Defina o manipulador de sucesso de carregamento jsloader.Onsuccess = function () {SayHello (); } // Defina o manipulador de falhas de carregamento jsloader.onfailure = function () {alert ("carregamento de arquivo falhou!"); } // comece a carregar o jsloader.load ("hello.js"); } </script> </head> <body> <belty> <input type = "submit" name = "submit" onclick = "javascript: btnclick ()" value = "carregando arquivo javascript"> </celt> </body> </html>(2) Crie um novo arquivo hello.js, incluindo o seguinte código:
// Javascript Document Função SayHello () {alert ("Hello World! File JavaScript carregado com sucesso"); } // Javascript DocumentFunction SayHello () {alert ("Hello World! File JavaScript carregado com sucesso"); }