{"id":15,"date":"2025-08-11T16:29:26","date_gmt":"2025-08-11T14:29:26","guid":{"rendered":"https:\/\/creativecoding.pl\/jak-podlaczyc-javascript-js-do-html\/"},"modified":"2025-08-11T16:29:26","modified_gmt":"2025-08-11T14:29:26","slug":"jak-podlaczyc-javascript-js-do-html","status":"publish","type":"post","link":"https:\/\/creativecoding.pl\/jak-podlaczyc-javascript-js-do-html\/","title":{"rendered":"Jak pod\u0142\u0105czy\u0107 JavaScript (JS) do HTML?"},"content":{"rendered":"<p>Aby <strong>pod\u0142\u0105czy\u0107 JavaScript do HTML<\/strong>, nale\u017cy wykorzysta\u0107 specjalny znacznik <code>&lt;script&gt;<\/code> \u2013 to w\u0142a\u015bnie przez niego przegl\u0105darka wie, \u017ce na stronie znajduje si\u0119 kod JavaScript. Mo\u017cna to zrobi\u0107 na trzy g\u0142\u00f3wne sposoby: jako kod <em>wewn\u0119trzny<\/em> (osadzony bezpo\u015brednio w stronie), <em>zewn\u0119trzny<\/em> (w osobnym pliku) oraz jako <em>kod inline<\/em> (bezpo\u015brednio w atrybutach element\u00f3w). Ka\u017cda metoda ma swoje zalety i zastosowania.<\/p>\n<h2>1. JavaScript jako kod wewn\u0119trzny (internal script)<\/h2>\n<p>Kod JavaScript mo\u017cesz umie\u015bci\u0107 mi\u0119dzy znacznikami <code>&lt;script&gt; ... &lt;\/script&gt;<\/code> w sekcji <code>&lt;head&gt;<\/code> lub <code>&lt;body&gt;<\/code> dokumentu HTML. Polecane jest umieszczanie skrypt\u00f3w przed zamkni\u0119ciem tagu <code>&lt;\/body&gt;<\/code>, aby nie blokowa\u0142y \u0142adowania tre\u015bci strony.<\/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 z JavaScript&lt;\/title&gt;\n&lt;\/head&gt;\n&lt;body&gt;\n  &lt;p&gt;Kliknij przycisk, \u017ceby zobaczy\u0107 powiadomienie.&lt;\/p&gt;\n  &lt;button onclick=\"pokazAlert()\"&gt;Kliknij mnie&lt;\/button&gt;\n  &lt;script&gt;\n    function pokazAlert() {\n      alert(\"Witaj w \u015bwiecie JavaScript!\");\n    }\n  &lt;\/script&gt;\n&lt;\/body&gt;\n&lt;\/html&gt;\n<\/code><\/pre>\n<p><strong>Zastosowania<\/strong> \u2013<\/p>\n<ul>\n<li>Tworzenie prostych interakcji (np. powiadomienia, obs\u0142uga przycisk\u00f3w),<\/li>\n<li>Szybkie testowanie kodu podczas nauki,<\/li>\n<li>Dynamiczne zmiany tre\u015bci strony.<\/li>\n<\/ul>\n<h2>2. JavaScript jako kod zewn\u0119trzny (external script)<\/h2>\n<p>Aby zachowa\u0107 przejrzysto\u015b\u0107 kodu i mo\u017cliwo\u015b\u0107 wielokrotnego u\u017cycia, skrypt umieszcza si\u0119 w osobnym pliku z rozszerzeniem <code>.js<\/code>. Taki plik dodajemy do strony, wskazuj\u0105c jego \u015bcie\u017ck\u0119 w atrybucie <code>src<\/code> znacznika <code>&lt;script&gt;<\/code>:<\/p>\n<pre><code class=\"html language-html\">&lt;!-- index.html --&gt;\n&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;JavaScript z pliku zewn\u0119trznego&lt;\/title&gt;\n&lt;\/head&gt;\n&lt;body&gt;\n  &lt;p id=\"demo\"&gt;&lt;\/p&gt;\n  &lt;script src=\"skrypt.js\"&gt;&lt;\/script&gt;\n&lt;\/body&gt;\n&lt;\/html&gt;\n<\/code><\/pre>\n<pre><code class=\"js language-js\">\/\/ skrypt.js\ndocument.getElementById('demo').textContent = 'Ten tekst zosta\u0142 ustawiony przez JS z pliku zewn\u0119trznego!';\n<\/code><\/pre>\n<p><strong>Zastosowania<\/strong> \u2013<\/p>\n<ul>\n<li>Obszerne skrypty aplikacji (np. obs\u0142uga formularzy, walidacje, dynamiczne menu),<\/li>\n<li>U\u017cywanie tego samego pliku na wielu podstronach,<\/li>\n<li>Lepsza organizacja i \u0142atwiejsze utrzymanie kodu.<\/li>\n<\/ul>\n<h2>3. JavaScript jako kod inline (w atrybutach HTML)<\/h2>\n<p>Kod JS mo\u017ce by\u0107 wpisany bezpo\u015brednio w atrybutach element\u00f3w, takich jak <code>onclick<\/code>, <code>onload<\/code> itp.<\/p>\n<pre><code class=\"html language-html\">&lt;button onclick=\"alert('Klikni\u0119to!')\"&gt;Kliknij tutaj&lt;\/button&gt;\n<\/code><\/pre>\n<p><strong>Zastosowania<\/strong> \u2013<\/p>\n<ul>\n<li>Proste jednorazowe akcje (np. informacja po klikni\u0119ciu przycisku),<\/li>\n<li>Szybkie prototypowanie i testowanie.<\/li>\n<\/ul>\n<p><em>Uwaga: Stosowanie kodu inline jest odradzane w z\u0142o\u017conych projektach \u2013 trudniej potem rozdzieli\u0107 logik\u0119 od struktury strony.<\/em><\/p>\n<h2>Praktyczne przyk\u0142ady zastosowa\u0144 JavaScript na stronie<\/h2>\n<ul>\n<li><strong>Walidacja formularzy<\/strong> \u2013 sprawdzanie poprawno\u015bci wpisywanych danych przed ich wys\u0142aniem;<\/li>\n<li><strong>Animacje i efekty UI<\/strong> \u2013 wygaszanie, przesuwanie, powi\u0119kszanie element\u00f3w, rozwijane menu i galerie zdj\u0119\u0107;<\/li>\n<li><strong>\u0141adowanie dynamicznych danych<\/strong> \u2013 pobieranie i wy\u015bwietlanie danych z serwera bez prze\u0142adowania strony (AJAX);<\/li>\n<li><strong>Tworzenie interaktywno\u015bci<\/strong> \u2013 gry, quizy, kalkulatory, reakcje na ruchy myszy lub klawiatury;<\/li>\n<li><strong>Zarz\u0105dzanie tre\u015bci\u0105<\/strong> \u2013 dodawanie\/usuwanie element\u00f3w DOM, reagowanie na zdarzenia u\u017cytkownika.<\/li>\n<\/ul>\n<h2>Wa\u017cne wskaz\u00f3wki organizacyjne<\/h2>\n<ul>\n<li>Kod JavaScript osadzony w <code>&lt;head&gt;<\/code> cz\u0119sto blokuje wy\u015bwietlanie strony \u2013 dlatego du\u017cy JS najlepiej umieszcza\u0107 tu\u017c przed <code>&lt;\/body&gt;<\/code>,<\/li>\n<li>Je\u015bli korzystasz z pliku zewn\u0119trznego, mo\u017cesz doda\u0107 <code>defer<\/code> lub <code>async<\/code> do <code>&lt;script src=\"...\" defer&gt;&lt;\/script&gt;<\/code>, by poprawi\u0107 wydajno\u015b\u0107 \u0142adowania strony,<\/li>\n<li>Dla wi\u0119kszych projekt\u00f3w segreguj kod na mniejsze pliki, by zachowa\u0107 czytelno\u015b\u0107 i \u0142atwo\u015b\u0107 utrzymania.<\/li>\n<\/ul>\n<h2>Podsumowanie metod<\/h2>\n<table>\n<thead>\n<tr>\n<th>Metoda<\/th>\n<th>Jak u\u017cywa\u0107<\/th>\n<th>Przyk\u0142adowe zastosowania<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>Wewn\u0119trzny<\/strong><\/td>\n<td><code>&lt;script&gt; ... &lt;\/script&gt;<\/code><\/td>\n<td>Ma\u0142e skrypty, szybkie testy, nauka<\/td>\n<\/tr>\n<tr>\n<td><strong>Zewn\u0119trzny<\/strong><\/td>\n<td><code>&lt;script src=\"plik.js\"&gt;&lt;\/script&gt;<\/code><\/td>\n<td>Projekty, wsp\u00f3lny kod dla wielu stron<\/td>\n<\/tr>\n<tr>\n<td><strong>Inline<\/strong><\/td>\n<td>Atrybuty HTML, np. <code>onclick=\"\"<\/code><\/td>\n<td>Proste interakcje, prototypowanie<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>Prawid\u0142owe pod\u0142\u0105czenie JavaScript pozwala rozbudowa\u0107 statyczny HTML o dynamiczne, nowoczesne funkcjonalno\u015bci i jest podstaw\u0105 tworzenia wsp\u00f3\u0142czesnych stron www.<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Aby pod\u0142\u0105czy\u0107 JavaScript do HTML, nale\u017cy wykorzysta\u0107 specjalny znacznik &lt;script&gt; \u2013 to w\u0142a\u015bnie przez niego przegl\u0105darka wie, \u017ce na stronie znajduje si\u0119 kod JavaScript. Mo\u017cna to zrobi\u0107 na trzy g\u0142\u00f3wne&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-15","post","type-post","status-publish","format-standard","hentry","category-html"],"_links":{"self":[{"href":"https:\/\/creativecoding.pl\/wp-json\/wp\/v2\/posts\/15","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=15"}],"version-history":[{"count":0,"href":"https:\/\/creativecoding.pl\/wp-json\/wp\/v2\/posts\/15\/revisions"}],"wp:attachment":[{"href":"https:\/\/creativecoding.pl\/wp-json\/wp\/v2\/media?parent=15"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/creativecoding.pl\/wp-json\/wp\/v2\/categories?post=15"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/creativecoding.pl\/wp-json\/wp\/v2\/tags?post=15"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}