Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Lze nějak spustit externí Javascript z funkce?

Áno, dá sa to - dynamickým pridaním elementu script:

var script = document.createElement("script");
script.type = "text/javascript";
script.src = "data.js";
document.getElementsByTagName("head")[0].appendChild(script);

Problém je, že nevieš, kedy sa ukončí nahrávanie externého skriptu. V Opere sa tuším po pridaní elementu počká, kým sa JavaScript nenahrá. V IE to môžeš zistiť pomocou obsluhy udalosti onreadystatechange elementu script a v Mozille cez udalosť onload. Najjednoduchšie je dať na koniec skriptu, ktorý nahráš, volanie funkcie, ktorá Ti oznámi, že nahraný skript končí.

Ďalšia možnosť je použiť objekt XMLHttpRequest, nahrať JavaScript a vykonať ho pomocou funkcie eval. Alebo vytvoriť rámec, do ktorého zapíšeš pomocou document.write element script. Ešte existujú určite aj iné spôsoby.

Zaujímalo by ma ale, prečo to vlastne chceš dynamicky?

Reakce na odpověď

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny