încărcare dinamică a JavaScript

Puteți, desigur, Ajax tradițional pentru a încărca JS și textul rezultat „revigora“ Eval-lea, dar este lung (pentru acesta din urmă) și urât. Am oferi o metodă mai simplă, dar nu mai puțin eficace.

Deci, avem nevoie pentru a încărca un fișier JS extern pentru un eveniment, fără a fi nevoie să eval. Cum este posibil pentru a încărca fișierul JS în document HTML? Acest lucru se face cu ajutorul acestui design:

Propun să genereze acest design pe zbor și înregistrarea în cazul în care acesta este locul - în secțiunea capului.

punerea în aplicare

Fișierul conține toate 1.js-doar acest lucru:

Funcția fromOut () alert ( 'I \' m de la 2.js dosar“.);
>

Vom numi această funcție de HTML, pentru a vedea dacă fișierul nostru extern conectat.

Sodrezhimoe fișier test.html:

// obține secțiunea element de cap
cap var = document.getElementsByTagName ( 'cap') [0];
//alert(head.innerHTML);

// se introduce un nou script în cap
head.appendChild (loadedJS);
//alert(head.innerHTML);

// utilizați o funcție din 1.js de fișiere
fromOut ();
>


Există o caracteristică importantă dacă ne tyknite pe titlul din nou, fără a reîncărca o pagină, acesta va fi din nou adăugat tag-ul. Și cu un fișier script va prelua din nou. Bineînțeles, nu avem nevoie. Ar fi frumos pentru a pune un fel de limitator care arată dacă am descărcat deja fișierul sau nu.

Văd trei soluții: fie pentru a face o variabilă globală (sau câmp obiect vizibil la nivel global, care este mai convenabil), care ar fi servit ca un steag. Ori de fiecare dată înainte de tag-uri de încărcare iterăm