{"id":79,"date":"2025-08-11T16:30:23","date_gmt":"2025-08-11T14:30:23","guid":{"rendered":"https:\/\/creativecoding.pl\/jak-wstawic-javascript-do-html\/"},"modified":"2025-08-11T16:30:23","modified_gmt":"2025-08-11T14:30:23","slug":"jak-wstawic-javascript-do-html","status":"publish","type":"post","link":"https:\/\/creativecoding.pl\/jak-wstawic-javascript-do-html\/","title":{"rendered":"Jak wstawi\u0107 JavaScript do HTML?"},"content":{"rendered":"<p>Aby <strong>wstawi\u0107 JavaScript do HTML<\/strong>, nale\u017cy u\u017cy\u0107 specjalnego znacznika <code>&lt;script&gt;<\/code>. Dzi\u0119ki niemu mo\u017cliwe jest dodanie zar\u00f3wno prostych, jak i zaawansowanych funkcji dynamicznych na stronie internetowej. Poni\u017cej przedstawiam szczeg\u00f3\u0142owy poradnik wraz z przyk\u0142adami wykorzystania.<\/p>\n<h2>Osadzenie kodu JavaScript w dokumencie HTML<\/h2>\n<p>Najprostsz\u0105 metod\u0105 wstawienia JavaScript jest <strong>umieszczenie kodu mi\u0119dzy znacznikami <code>&lt;script&gt;&lt;\/script&gt;<\/code><\/strong> bezpo\u015brednio w pliku HTML.<\/p>\n<pre><code class=\"html language-html\">&lt;!DOCTYPE html&gt;\n&lt;html lang=\"pl\"&gt;\n&lt;head&gt;\n  &lt;meta charset=\"UTF-8\"&gt;\n  &lt;title&gt;Przyk\u0142ad JavaScript w HTML&lt;\/title&gt;\n&lt;\/head&gt;\n&lt;body&gt;\n  &lt;h1&gt;Witaj na mojej stronie!&lt;\/h1&gt;\n  &lt;script&gt;\n    alert(\"Strona zosta\u0142a za\u0142adowana!\");\n  &lt;\/script&gt;\n&lt;\/body&gt;\n&lt;\/html&gt;\n<\/code><\/pre>\n<p>Kod umieszczony wewn\u0105trz tagu <code>&lt;script&gt;<\/code> wykona si\u0119 w momencie odczytywania go przez przegl\u0105dark\u0119.<\/p>\n<h2>Osadzanie skrypt\u00f3w w r\u00f3\u017cnych miejscach dokumentu<\/h2>\n<ul>\n<li><strong>W sekcji <code>&lt;head&gt;<\/code><\/strong> \u2013 kod wykona si\u0119, zanim zostanie za\u0142adowana tre\u015b\u0107 strony; najcz\u0119\u015bciej umieszcza si\u0119 tam skrypty nieinteraktywne, np. ustawienia analityki;<\/li>\n<li><strong>W sekcji <code>&lt;body&gt;<\/code><\/strong> \u2013 skrypt dzia\u0142a ju\u017c po wczytaniu tre\u015bci strony; to najcz\u0119stsze i zalecane miejsce dla kodu interaktywnego, reaguj\u0105cego na dzia\u0142ania u\u017cytkownika.<\/li>\n<\/ul>\n<h2>Wstawianie zewn\u0119trznych plik\u00f3w JavaScript<\/h2>\n<p>Je\u015bli ten sam skrypt ma by\u0107 u\u017cywany na wielu podstronach lub jest bardzo rozbudowany, warto umie\u015bci\u0107 kod w osobnym pliku <code>.js<\/code> i do\u0142\u0105czy\u0107 go za pomoc\u0105 atrybutu <code>src<\/code>.<\/p>\n<pre><code class=\"html language-html\">&lt;script src=\"skrypt.js\"&gt;&lt;\/script&gt;\n<\/code><\/pre>\n<p>Plik <code>skrypt.js<\/code> powinien znajdowa\u0107 si\u0119 w tej samej lokalizacji co plik HTML, lub trzeba poda\u0107 do niego odpowiedni\u0105 \u015bcie\u017ck\u0119.<\/p>\n<h2>Atrybuty <code>async<\/code> i <code>defer<\/code> w tagu <code>&lt;script&gt;<\/code><\/h2>\n<p>Dodanie atrybutu <code>async<\/code> lub <code>defer<\/code> przy wstawianiu zewn\u0119trznego skryptu umo\u017cliwia optymalizacj\u0119 szybko\u015bci \u0142adowania strony:<\/p>\n<ul>\n<li><strong><code>async<\/code><\/strong> \u2013 skrypt \u0142adowany jest w tle, a gdy si\u0119 pobierze, natychmiast si\u0119 wykonuje (niekoniecznie w tej samej kolejno\u015bci co inne skrypty);<\/li>\n<li><strong><code>defer<\/code><\/strong> \u2013 skrypt \u0142aduje si\u0119 w tle, lecz wykonuje dopiero po pe\u0142nym wczytaniu i zinterpretowaniu ca\u0142ego HTML.<\/li>\n<\/ul>\n<p>Przyk\u0142ad:<\/p>\n<pre><code class=\"html language-html\">&lt;script src=\"duzy_skrypt.js\" async&gt;&lt;\/script&gt;\n&lt;script src=\"inny_skrypt.js\" defer&gt;&lt;\/script&gt;\n<\/code><\/pre>\n<h2>Praktyczne przyk\u0142ady zastosowania JavaScript w HTML<\/h2>\n<h3>Wy\u015bwietlanie komunikatu u\u017cytkownikowi<\/h3>\n<pre><code class=\"html language-html\">&lt;script&gt;\n  alert(\"Witamy u\u017cytkownika na stronie!\");\n&lt;\/script&gt;\n<\/code><\/pre>\n<h3>Dynamiczna zmiana tre\u015bci strony<\/h3>\n<pre><code class=\"html language-html\">&lt;button onclick=\"document.getElementById('demo').innerHTML = 'Tre\u015b\u0107 zmieniona przez JavaScript!'\"&gt;Kliknij mnie&lt;\/button&gt;\n&lt;p id=\"demo\"&gt;Stara tre\u015b\u0107&lt;\/p&gt;\n<\/code><\/pre>\n<h3>Walidacja formularza<\/h3>\n<pre><code class=\"html language-html\">&lt;form onsubmit=\"return walidujFormularz()\"&gt;\n  Imi\u0119: &lt;input type=\"text\" id=\"imie\"&gt;\n  &lt;input type=\"submit\" value=\"Wy\u015blij\"&gt;\n&lt;\/form&gt;\n&lt;script&gt;\n  function walidujFormularz() {\n    var imie = document.getElementById('imie').value;\n    if(imie === \"\") {\n      alert(\"Pole imi\u0119 nie mo\u017ce by\u0107 puste.\");\n      return false; \/\/ Blokuje wys\u0142anie formularza\n    }\n    return true;\n  }\n&lt;\/script&gt;\n<\/code><\/pre>\n<h3>Obs\u0142uga zdarze\u0144 (np. klikni\u0119cia przycisku)<\/h3>\n<pre><code class=\"html language-html\">&lt;button id=\"mojPrzycisk\"&gt;Kliknij mnie&lt;\/button&gt;\n&lt;script&gt;\n  document.getElementById('mojPrzycisk').onclick = function() {\n    alert(\"Przycisk zosta\u0142 klikni\u0119ty!\");\n  }\n&lt;\/script&gt;\n<\/code><\/pre>\n<h3>Proste obliczenia i wstawianie wynik\u00f3w do strony<\/h3>\n<pre><code class=\"html language-html\">&lt;input type=\"number\" id=\"a\"&gt;\n&lt;input type=\"number\" id=\"b\"&gt;\n&lt;button onclick=\"dodaj()\"&gt;Dodaj liczby&lt;\/button&gt;\n&lt;p id=\"wynik\"&gt;&lt;\/p&gt;\n&lt;script&gt;\n  function dodaj() {\n    var a = Number(document.getElementById('a').value);\n    var b = Number(document.getElementById('b').value);\n    document.getElementById('wynik').innerText = \"Wynik: \" + (a + b);\n  }\n&lt;\/script&gt;\n<\/code><\/pre>\n<h2>Dobre praktyki<\/h2>\n<ul>\n<li><strong>Umieszczaj w\u0142asny kod na ko\u0144cu sekcji <code>&lt;body&gt;<\/code> albo u\u017cywaj <code>defer<\/code> \u2013 dzi\u0119ki temu masz pewno\u015b\u0107, \u017ce elementy HTML s\u0105 ju\u017c za\u0142adowane przed uruchomieniem skryptu.<\/strong>;<\/li>\n<li><strong>Stosuj pliki zewn\u0119trzne<\/strong> do wi\u0119kszych skrypt\u00f3w \u2013 u\u0142atwia to utrzymanie kodu oraz jego wielokrotne wykorzystanie;<\/li>\n<li><strong>Komenduj kod<\/strong> \u2013 \u0142atwiej si\u0119 potem odnale\u017a\u0107 w projekcie;<\/li>\n<li><strong>Unikaj konflikt\u00f3w z innymi skryptami<\/strong> przez stosowanie funkcji i zmiennych o unikatowych nazwach.<\/li>\n<\/ul>\n<p>JavaScript w HTML pozwala na <strong>tworzenie nowoczesnych, interaktywnych stron<\/strong>, gdzie u\u017cytkownik mo\u017ce wchodzi\u0107 w bezpo\u015bredni\u0105 interakcj\u0119 z tre\u015bciami, formularzami i elementami na stronie. Dzi\u0119ki r\u00f3\u017cnym metodom osadzania kodu, mo\u017cesz dostosowa\u0107 spos\u00f3b dzia\u0142ania j\u0119zyka JavaScript do potrzeb ka\u017cdego projektu.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Aby wstawi\u0107 JavaScript do HTML, nale\u017cy u\u017cy\u0107 specjalnego znacznika &lt;script&gt;. Dzi\u0119ki niemu mo\u017cliwe jest dodanie zar\u00f3wno prostych, jak i zaawansowanych funkcji dynamicznych na stronie internetowej. Poni\u017cej przedstawiam szczeg\u00f3\u0142owy poradnik wraz&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-79","post","type-post","status-publish","format-standard","hentry","category-html"],"_links":{"self":[{"href":"https:\/\/creativecoding.pl\/wp-json\/wp\/v2\/posts\/79","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/creativecoding.pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/creativecoding.pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/creativecoding.pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/creativecoding.pl\/wp-json\/wp\/v2\/comments?post=79"}],"version-history":[{"count":0,"href":"https:\/\/creativecoding.pl\/wp-json\/wp\/v2\/posts\/79\/revisions"}],"wp:attachment":[{"href":"https:\/\/creativecoding.pl\/wp-json\/wp\/v2\/media?parent=79"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/creativecoding.pl\/wp-json\/wp\/v2\/categories?post=79"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/creativecoding.pl\/wp-json\/wp\/v2\/tags?post=79"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}