Wpisany przez Patryk yarpo Jar
|
poniedziałek, 21 września 2009 21:23 |
Jeśli kiedyś myślałeś o tym, jakby tu załadować jakiś skrypt „po drodze”, zamiast ładować go od razu, to na pewno ta porada ci się przyda.
Pokażę, w jaki sposób załadować skrypt JS znajdujący się w osobnym pliku dynamicznie, to znaczy – w trakcie surfowania po stronie, bez jej przeładowania. Niech przemówi kod:
<script type="text/javascript">
// <!-- <![CDATA[
function zaladuj_skrypt(plik) {
var nowySkrypt = document.createElement("script");
nowySkrypt.setAttribute("type", "text/javascript");
nowySkrypt.setAttribute("src", plik + ".js");
document.getElementsByTagName("head")[0].appendChild(nowySkrypt);
}
// --> ]]></script>
Co więc po kolei tu robię? Stworzyłem małą funkcję void zaladuj_skrypt(string plik), która pozwala na dynamiczne dodawanie skryptów. Wywołuje się ją w taki sposób:
<p>
<a href="javascript:void(zaladuj_skrypt('jeden'))">Jeden</a> ::
<a href="javascript:void(zaladuj_skrypt('dwa'))">Dwa</a>
</p>
Funkcja ta przyjmuje jako parametr nazwę skryptu JS [bez rozszerzenie, to zostaje automatycznie dodane w funkcji].
Warto byłoby także zapoznać się z:
- developer.mozilla.org/pl/docs/DOM:element.appendChild
- developer.mozilla.org/pl/docs/DOM:document.createElement
- w3schools.com/dom/met_document_createelement.asp
- w3schools.com/dom/met_element_setattribute.asp
- developer.mozilla.org/pl/docs/DOM:element.setAttribute
|