Ce face <script>
Tagul <script> este puntea dintre HTML și JavaScript. Poate conține cod JavaScript direct între tagurile de deschidere și închidere sau poate încărca un fișier extern prin atributul src.
Pentru performanță optimă, fișierele JavaScript externe trebuie încărcate cu atributul defer. Acesta permite browserului să descarce scriptul în paralel și să îl execute doar după ce tot HTML-ul a fost parcurs, fără a bloca randarea paginii.
Atribute
| Atribut | Descriere |
|---|---|
src |
Adresa fișierului JavaScript extern. |
defer |
Descarcă scriptul în fundal și îl execută după ce documentul HTML este complet parsat. |
async |
Descarcă scriptul în fundal și îl execută imediat ce a fost descărcat (util pentru analitice). |
type |
Tipul scriptului; pentru JavaScript modern modular se folosește type=”module”. |
Exemple
Exemplul 1: Încărcare recomandată cu atributul defer
defer garantează că elementele din pagină există deja în memorie când rulează scriptul.
<script src="/js/interactiv.js" defer></script>
Ce afișează browserul
(Scriptul se descarcă în fundal fără să blocheze randarea textului)
Exemplul 2: Script inline pentru interacțiune directă
Codul scris între taguri este executat direct de motorul JavaScript al browserului.
<button id="buton-salut">Apasă-mă</button>
<script>
document.getElementById("buton-salut").addEventListener("click", () => {
alert("Salut din JavaScript!");
});
</script>
Ce afișează browserul
Un buton „Apasă-mă” care afișează o fereastră cu mesaj la clic.
Greșeli frecvente
- Omiterea tagului de închidere când folosești src (scrierea este invalidă în HTML și blochează restul paginii).
- Plasarea scripturilor grele în fără defer sau async, ceea ce creează un ecran alb la încărcarea paginii pe conexiuni lente.
Comenzi înrudite
<head>: Conține metadatele documentului, linkuri către fișiere CSS, scripturi și informații pentru motoarele de căutare.<body>: Conține tot conținutul vizibil al unei pagini web: texte, imagini, linkuri, butoane, formulare și tabele.<template>: Fragment de cod HTML inert la încărcare, neafișat pe ecran, destinat clonării și populării prin JavaScript.