Вообще говоря, если весь необходимый код JavaScript загружается одновременно, начальная веб -страница замедлится, но многие загруженные коды не нужно использовать, и эти ненужные отходы производительности следует избегать. Если вы хотите динамически загрузить код JavaScript, вы можете использовать модель DOM для добавления узела <Script> в документ HTML и установить атрибут SRC этого узла (т.е. файл с проживанием JavaScript) в код JavaScript, который необходимо динамически загрузить.
Вот пример завершения такой функции:
(1) Создать новый файл jsloadertest.html
<html xmlns = "http://www.w3.org/1999/xhtml"> <head> <meta http-equiv = "content-type" content = "text/html; charset = gb2312"/> with Jsloader () {this.load = function (url) {// получить все <script> теги var ss = document.getElementsbytagname ("script"); // Проверьте, был ли указанный файл включен. Если это было включено, запустите событие OnSuccess и возвращайте для (i = 0; i <ss.length; i ++) {if (ss [i] .src && ss [i] .src.indexof (url)! =-1) {this.onsuccess (); возвращаться; }} // Создание узла скрипта и установите его атрибуты в файл Outreach JavaScript s = document.createElement ("script"); s.type = "text/javascript"; s.src = url; // Получите узел головки и вставьте <Script> int var head = document.getelementsbytagname ("head") [0]; Head.appendChild (ы); // Получить свою собственную ссылку var self = this; // Для браузера IE используйте событие BeadyStateChange, чтобы определить, является ли нагрузка успешной // для других браузеров, используйте событие Onload, чтобы определить, является ли нагрузка успешной // s.onload = s.onreadystatechange = function () {s.onload = s.onreadystatechang Событие ONSUCCESS, то же самое ниже. if (this.readystate && this.readystate == "загрузка") return; self.onsuccess (); } s.onerror = function () {head.removechild (s); self.onfailure (); }}; // Определите событие успеха загрузки this.Onsuccess = function () {}; // Определите неудачное событие this.onfailure = function () {}; } function btnClick () {// Создать объект var jsloader = new jsloader (); // Определите обработчик успеха загрузки jsloader.onsuccess = function () {sayhello (); } // Определите обработчик сбоев загрузки jsloader.onfailure = function () {alert ("Не удалась загрузка файла!"); } // Начать загрузку jsloader.load ("hello.js"); } </script> </head> <body> <babel> <input type = "Отправить" name = "open" onclick = "javascript: btnclick ()" value = "Загрузка файла JavaScript"> </label> </body> </html>(2) Создайте новый файл hello.js, включая следующий код:
// функция документа JavaScript SayShello () {alert ("Hello World! Успешно загруженный файл JavaScript"); } // javaScript DocumentFunction sayShello () {alert ("Hello World! Успешно загруженный файл JavaScript"); }