INF.03-02-24.01-SGStyczeń 2024 · 43 kroki · ok. 83 min · 41 kryteriów z klucza
Rozwiązanie krok po kroku: Witryna pogotowia komputerowego (Nowoczesny kod (grid, osobny skrypt))
To drugi sposób rozwiązania tego samego arkusza: ikona „IT”, dwa banery z myszą i animacja GIF, dwie strony o wspólnym układzie (index.html i kontakt.html) z trzema blokami obok siebie, style w styl.css i skrypt na stronie kontaktowej. Obie wersje spełniają wszystkie 41 kryteriów klucza - różni je sposób pisania kodu, nie wynik.
Czym ta wersja różni się od podstawowej:
trzy bloki główne w znaczniku <main> ułożone siatką CSS (display: grid) zamiast float i clear, menu wyśrodkowane flexboksem,
kolory z arkusza w zmiennych CSS, style przypięte do klas,
przycisk „Wyślij” wysyła formularz (type="submit"), a skrypt przejmuje zdarzenie submit - działa też Enter w polu tekstowym; „Czyść” czyści również wynik,
skrypt w osobnym pliku kontakt.js z defer, kontrolki z form.elements, trzy wiersze komunikatu w tablicy wpisanej przez innerText - wpisane w formularzu znaczniki nie wykonują się jako HTML.
Grafika jest taka sama jak w wersji podstawowej - wykonana z prawdziwego archiwum materialy2 według obrazów 1 i 2. Kroki nadal idą zdanie po zdaniu za treścią arkusza. Skrypt jest sprawdzony w prawdziwej przeglądarce Chrome na danych z obrazu 4 (adres [email protected] wypisany małymi literami), ze znacznikiem w imieniu i po kliknięciu „Czyść”. W podglądzie strony kontaktowej można wypełnić formularz i kliknąć „Wyślij”.
Jak liczą się punkty. Klucz ma 41 kryteriów (R.1.1 - R.5.7), każde za 1 punkt. Próg zdania części praktycznej to 75%, czyli 31 punktów. Przy każdym kroku jest napisane, które kryteria spełnia; egzaminator ocenia spełnienie kryteriów z klucza, nie zgodność z tym kodem.
Suwak i strzałki obok niego - albo ←→ na klawiaturze - przechodzą krok po kroku; wyjaśnienie, pliki i podgląd zmieniają się razem z krokiem.
Lista „Etap” przenosi od razu do wybranego etapu.
„Rozwiązuję samodzielnie” chowa rozwiązanie kroku - najpierw własna próba, potem odsłonięcie.
„Tryb prezentacji” pokazuje same kroki, bez menu strony - na rzutnik.
Etap 1: Grafika i animacja
Kroki 1-4 · po tym etapie masz 9 z 41 kryteriów (pkt)
Krok 1: Favicon: napis IT na całej grafice, 50 × 50 px
Kryteria: , ,
R.1.1 Przynajmniej jeden z obrazów: favicon, baner1 lub baner2 zapisano w formacie umożliwiającym zapis przezroczystości, np. PNG, tło przynajmniej jednego obrazu jest przezroczyste
R.1.2 Favicon zawiera napis "IT" w kolorze czerwonym, wypełniający całą przestrzeń grafiki
R.1.3 Favicon ma wysokość i szerokość 50 px (± 2 px)
ok. 5 min
Polecenie z arkusza
Wytyczne dla logo witryny internetowej: Cechy obrazu: tło przezroczyste, wysokość i szerokość: 50 px. Napis o treści „IT”, wypełnia całą przestrzeń grafiki, zgodnie z obrazem 1. Cechy tekstu: czcionka koloru ciemnoczerwonego. Nazwa pliku: favicon, format umożliwiający zapis przezroczystości.
Napis wyśrodkowany z wolnym miejscem dookoła nie „wypełnia całej przestrzeni” (R.1.2).
Podgląd strony po tym kroku
Krok 2: Baner 1: dwie myszy i czerwony napis
Kryteria: , ,
R.1.4 Przynajmniej jeden obraz banera zawiera dwukrotnie umieszczony obraz z pliku mysz.jpg, po lewej stronie – obrócony o 180 stopni, po prawej - niezmieniony. Jest on umieszczony w banerze w całości (obie myszy są widoczne w całości)
R.1.5 Pliki banera zawierają napis o treści „POGOTOWIE KOMPUTEROWE”. Zastosowano czcionkę bezszeryfową, koloru czerwonego w pierwszym i koloru żółtego w drugim banerze
R.1.6 Plikom banera nadano wysokość 200 px (± 2 px) i szerokość 1000 px (± 2 px)
ok. 5 min
Polecenie z arkusza
Wspólne wytyczne dla dwóch banerów: Cechy obrazu: tło przezroczyste, wysokość 200 px, szerokość 1000 px. Plik mysz.jpg przeskalowany z zachowaniem proporcji do wysokości 200 px, umieszczony dwukrotnie na banerze: po lewej stronie – z odpowiednim obrotem oraz niezmieniony po prawej, zgodnie z obrazem 2. Pomiędzy obrazami znajduje się napis o treści „POGOTOWIE KOMPUTEROWE”. Dla banera1: czcionka Arial, pogrubiona, koloru czerwonego.
Plik → Otwórz jako warstwymysz.jpg (327 × 410), Warstwa → Skaluj warstwę: wysokość 200 z zamkniętym łańcuchem - szerokość wychodzi 160 px; dosuń warstwę do prawej krawędzi,
Warstwa → Duplikuj warstwę, na kopii Warstwa → Przekształć → Obróć o 180° - na obrazie 2 lewa mysz ma przewód u góry (klucz: obrót o 180 stopni, R.1.4); kopię dosuń do lewej krawędzi,
narzędzie Tekst między myszami: „POGOTOWIE KOMPUTEROWE” w dwóch wierszach, Arial Bold, kolor czerwony (ff0000), wyśrodkowany,
Eksportuj jakobaner1.png, a plik .xcf zapisz osobno - posłuży do banera 2.
Typowe błędy
Odbij poziomo zamiast obrotu o 180° zostawia przewód na dole - to inna operacja niż na obrazie 2.
Podgląd strony po tym kroku
Krok 3: Baner 2: żółty napis
Kryteria: ,
R.1.5 Pliki banera zawierają napis o treści „POGOTOWIE KOMPUTEROWE”. Zastosowano czcionkę bezszeryfową, koloru czerwonego w pierwszym i koloru żółtego w drugim banerze
R.1.6 Plikom banera nadano wysokość 200 px (± 2 px) i szerokość 1000 px (± 2 px)
ok. 2 min
Polecenie z arkusza
Dla banera2: czcionka Arial, pogrubiona, koloru żółtego, zgodnie z obrazem 2.
W pliku banera 1 zmień tylko kolor napisu na żółty, jak na obrazie 2. Eksportuj jakobaner2.png.
Podgląd strony po tym kroku
Krok 4: Animacja GIF z opóźnieniem 4000 ms
Kryteria: , ,
R.1.7 Animację zapisano jako animacja.gif
R.1.8 Animacja zawiera obrazy dwóch banerów wyświetlane na zmianę
R.1.9 Ustawiono opóźnienie między klatkami na 4000 ms (4 s), co udokumentowano zrzutem ekranu o nazwie klatki.jpg , na którym widać okno z wprowadzoną wartością opóźnienia. Zrzut obejmuje cały obszar ekranu z widocznym paskiem zadań
ok. 5 min
Polecenie z arkusza
Animację należy przygotować w programie do obróbki grafiki rastrowej. Animację stanowią obrazy baner1 i baner2 wyświetlane na zmianę. Cechy animacji: opóźnienie między klatkami 4000 ms (4 s). Czynność ustawienia opóźnienia należy udokumentować zrzutem ekranu o nazwie klatki.jpg. Nazwa pliku: animacja.gif.
W GIMP-ie każda warstwa to jedna klatka animacji:
otwórz baner1.png i Plik → Otwórz jako warstwybaner2.png,
Plik → Eksportuj jakoanimacja.gif, zaznacz Jako animację i Pętla nieskończona, opóźnienie 4000 ms, rozmieszczenie klatek Jedna klatka na warstwę (zastąpienie) - inaczej czerwony napis prześwitywałby przez przezroczyste tło pod żółtym,
zanim klikniesz Eksportuj, zrób zrzut całego ekranu z tym oknem i wpisanym 4000 - klatki.jpg, bez kadrowania, z paskiem zadań (R.1.9).
Typowe błędy
Zrzut okna bez paska zadań albo wykadrowany nie spełnia R.1.9.
Podgląd strony po tym kroku
Etap 2: Strony HTML
Kroki 5-25 · po tym etapie masz 22 z 41 kryteriów (pkt)
Krok 5: Plik index.html w HTML5
Kryteria:
R.2.1 Witrynę internetową zapisano w plikach index.html i kontakt.html oraz zastosowano deklarację języka HTML5 <!DOCTYPE html> i zdefiniowano język witryny polski np. <html lang="pl"> oraz jawnie zastosowano właściwy standard kodowania polskich znaków
ok. 1 min
Polecenie z arkusza
Cechy witryny: Strona główna o nazwie index.html oraz podstrona kontakt.html. Cechy wspólne dla obu stron: Zapisane w języku HTML 5.
Najpierw powstaje w całości index.html - podstrona będzie jej kopią. <!DOCTYPE html> włącza tryb standardów HTML5.
R.2.1 Witrynę internetową zapisano w plikach index.html i kontakt.html oraz zastosowano deklarację języka HTML5 <!DOCTYPE html> i zdefiniowano język witryny polski np. <html lang="pl"> oraz jawnie zastosowano właściwy standard kodowania polskich znaków
ok. 1 min
Polecenie z arkusza
Ustawiony język zawartości strony na polski.
Atrybut lang="pl" w <html> - z niego korzystają czytniki ekranu i sprawdzanie pisowni.
Krok 7: Kodowanie polskich znaków i widok na telefonie
Kryteria:
R.2.1 Witrynę internetową zapisano w plikach index.html i kontakt.html oraz zastosowano deklarację języka HTML5 <!DOCTYPE html> i zdefiniowano język witryny polski np. <html lang="pl"> oraz jawnie zastosowano właściwy standard kodowania polskich znaków
ok. 1 min
Polecenie z arkusza
Jawnie zastosowany właściwy standard kodowania polskich znaków.
<meta charset="UTF-8"> jako pierwszy element <head> (R.2.1). Druga linia, <meta name="viewport">, każe telefonowi pokazać stronę w jego prawdziwej szerokości, zamiast pomniejszać widok komputera - arkusz jej nie wymaga.
R.3.5 Strona zawiera działające połączenie z zewnętrznym arkuszem stylów o nazwie styl.css , formatowanie CSS pochodzi jedynie z tego arkusza Uwaga: kryterium to nie jest spełnione również, gdy zdający źle przypisał co najmniej jeden selektor do bloku (np. kropka zamiast #)
ok. 1 min
Polecenie z arkusza
Arkusz stylów w pliku o nazwie styl.css prawidłowo połączony z kodem strony.
Nazwa pliku z arkusza: styl.css, ten sam dla obu stron.
Typowe błędy
Inna nazwa pliku (style.css) odcina wszystkie style - R.3.5, a rezultat R.4 jest wtedy oceniany tylko z kodu.
R.2.4 Wygląd strony zdefiniowano dzieląc ją na bloki: kontener, w którym umieszczono: baner, menu, trzy bloki główne, stopkę. Zastosowano znaczniki sekcji
ok. 2 min
Polecenie z arkusza
Podział strony na bloki: kontener całej strony, w którym znajdują się: baner, poniżej menu, poniżej obok siebie trzy bloki główne oraz na dole stopka. Podział zrealizowany za pomocą znaczników sekcji tak, aby wygląd układu bloków strony po uruchomieniu w przeglądarce, był zgodny z Obrazem 3.
Kontener <div class="page">, a w nim bloki w znacznikach, które mówią, czym są:
<header class="banner"> - nagłówek witryny z animacją,
<nav class="menu"> - nawigacja,
trzy bloki główne <section class="column"> objęte jednym znacznikiem <main> - to treść główna strony, a wspólny rodzic pozwoli ułożyć trzy bloki jedną regułą siatki,
<footer> (R.2.4).
Bloki główne mają te same cechy, więc dostają wspólną klasęcolumn.
R.2.5 W banerze umieszczono obraz animacja.gif z tekstem alternatywnym "Pogotowie komputerowe" lub na stronie głównej w bloku głównym prawym znajduje się obraz favicon.png z tekstem alternatywnym "Doświadczenie i niezawodność"
ok. 1 min
Polecenie z arkusza
Zawartość banera: animacja.gif z tekstem alternatywnym „Pogotowie komputerowe”.
Animowany GIF wstawia zwykły <img>. width i height z wymiarów pliku rezerwują miejsce, zanim obraz się wczyta (R.2.5).
R.3.2 Na przynajmniej jednej stronie znajdują się odnośniki w bloku menu. Wybranie odnośnika "Strona Główna" otwiera stronę index.html ; "Kontakt" otwiera stronę kontakt.html
ok. 1 min
Polecenie z arkusza
Zawartość bloku menu: Odnośnik o treści „Strona Główna”, który prowadzi do strony index.html. Odnośnik o treści „Kontakt”, który prowadzi do strony kontakt.html.
Dwa <a> z nazwami plików z tego samego folderu, to samo menu na obu stronach (R.3.2). W podglądzie przejścia są zablokowane.
R.2.7 W stopce umieszczono numer zdającego w znaczniku np. <em> (znacznik <i> jest błędem) oraz na stronie głównej paragraf o treści: ”Jesteśmy firmą z wieloletnim doświadczeniem w zakresie IT.” oraz na podstronie linię poziomą <hr>
ok. 1 min
Polecenie z arkusza
Zawartość stopki: tekst „Autor: ”, dalej wstawiony numer zdającego. Numer zdającego jest pochylony za pomocą znacznika semantycznego.
Znacznik semantyczny, który przeglądarka pochyla, to <em> - tekst wyróżniony (R.2.7). Na egzaminie w środku wpisujesz swój numer zdającego (PESEL); tu stoi autor rozwiązania.
Typowe błędy
<i> też pochyla, ale nie niesie znaczenia - klucz wprost uznaje go za błąd (R.2.7).
R.2.6 Na stronie głównej w blokach głównych zapisano przynajmniej jeden nagłówek h3 z: „Kim jesteśmy?”, "Co robimy?", "Jaki jest nasz znak?" oraz na podstronie zapisano nagłówek h2: "Kontakt"
R.2.7 W stopce umieszczono numer zdającego w znaczniku np. <em> (znacznik <i> jest błędem) oraz na stronie głównej paragraf o treści: ”Jesteśmy firmą z wieloletnim doświadczeniem w zakresie IT.” oraz na podstronie linię poziomą <hr>
ok. 1 min
Polecenie z arkusza
Zawartość trzech bloków głównych dla pliku index.html: Pierwszy blok: Nagłówek trzeciego stopnia o treści: „Kim jesteśmy?”. Paragraf (akapit) o treści „Jesteśmy firmą z wieloletnim doświadczeniem w zakresie IT.”
R.2.8 Na stronie głównej w bloku głównym środkowym zapisano jedną listę punktowaną (nieuporządkowaną) z elementami: naprawa komputerów, odzyskiwanie danych, wirusy, konfiguracja LAN; zastosowano znaczniki <ul> i <li>
ok. 1 min
Polecenie z arkusza
Drugi blok: Nagłówek trzeciego stopnia o treści: „Co robimy?”. Lista punktowana (nieuporządkowana) z elementami: naprawa komputerów, odzyskiwanie danych, wirusy, konfiguracja LAN.
Lista nieuporządkowana <ul> z elementami <li> (R.2.8).
R.2.5 W banerze umieszczono obraz animacja.gif z tekstem alternatywnym "Pogotowie komputerowe" lub na stronie głównej w bloku głównym prawym znajduje się obraz favicon.png z tekstem alternatywnym "Doświadczenie i niezawodność"
ok. 1 min
Polecenie z arkusza
Trzeci blok: Nagłówek trzeciego stopnia o treści: „Jaki jest nasz znak?”. Obraz favicon.png z tekstem alternatywnym „Doświadczenie i niezawodność”.
Ten sam plik co ikona karty - tu jako zwykły obraz z alt.
Krok 18: Podstrona kontakt.html: nagłówek, formularz, linia
Kryteria: ,
R.2.6 Na stronie głównej w blokach głównych zapisano przynajmniej jeden nagłówek h3 z: „Kim jesteśmy?”, "Co robimy?", "Jaki jest nasz znak?" oraz na podstronie zapisano nagłówek h2: "Kontakt"
R.2.7 W stopce umieszczono numer zdającego w znaczniku np. <em> (znacznik <i> jest błędem) oraz na stronie głównej paragraf o treści: ”Jesteśmy firmą z wieloletnim doświadczeniem w zakresie IT.” oraz na podstronie linię poziomą <hr>
ok. 2 min
Polecenie z arkusza
Zawartość trzech bloków głównych dla pliku kontakt.html: Pierwszy i trzeci blok: puste. Drugi blok: Nagłówek drugiego stopnia o treści: „Kontakt”. Tabela o wymiarze 2 kolumny na 6 wierszy, wypełniona kontrolkami. Pozioma linia.
Zapisz jakokontakt.html z kopii szkieletu strony głównej: pierwszy i trzeci blok zostają puste, w drugim nagłówek, formularz z tabelą i linia.
<form> daje przyciskowi „Czyść” formularz do wyczyszczenia, a skryptowi - zdarzenie wysłania do przechwycenia,
novalidate wyłącza dymki, którymi przeglądarka zatrzymuje formularz z błędnie wpisanym adresem e-mail. Arkusz każe po „Wyślij” zawsze wypisać dane - literówka w adresie nie może zablokować skryptu.
Krok 24: Tabela, wiersz 6: Przyciski Czyść i Wyślij
Kryteria: ,
R.2.9 Na podstronie w bloku głównym środkowym zapisano tabelę o 2 kolumnach i 6 wierszach, zastosowano znaczniki <table>, <tr>, <td>
R.2.10 Strona zawiera trzy pola edycyjne, jedno listy rozwijalnej, jedno wyboru oraz dwa przyciski
ok. 2 min
Polecenie z arkusza
Tabela 1, wiersz 6: Pusta komórka, przycisk „Czyść” czyszczący kontrolki i przycisk „Wyślij”, którego wciśnięcie powoduje uruchomienie skryptu.
type="reset" przywraca kontrolki do stanu początkowego, bez skryptu (pole wyboru wraca do zaznaczonego, bo tak zaczynało),
type="submit" - przycisk wysyłający formularz. Skrypt przechwyci zdarzenie wysłania formularza i zatrzyma przeładowanie strony; „Wyślij” zadziała też klawiszem Enter w polu tekstowym.
Na razie skryptu nie ma - kliknięcie „Wyślij” przeładowuje stronę.
Kroki 26-36 · po tym etapie masz 33 z 41 kryteriów (pkt)
Krok 26: Plik styl.css: kolory z arkusza w zmiennych
ok. 2 min
Polecenie z arkusza
Styl CSS zdefiniowany w zewnętrznym pliku o nazwie styl.css.
Kolory arkusza w zmiennych CSS w :root: #00838F występuje w banerze i przyciskach, #006064 w menu i stopce, biały w odsyłaczach, stopce i przyciskach. Reguły będą się do nich odwoływać przez var(--nazwa), więc każdy kolor jest wpisany raz.
Sama definicja zmiennych nic nie zmienia na stronie.
R.4.4 Ustawiono szerokość kontenera strony na 95%, trzech bloków głównych na 33% (width lub grid-template-columns lub flex)
R.4.7 Ustawiono dla kontenera marginesy zewnętrzne (margin) na auto, oraz marginesy wewnętrzne (padding) dla bloku menu na 15px, dla stopki na 10px
ok. 1 min
Polecenie z arkusza
Kontenera całej strony: szerokość 95%, marginesy zewnętrzne wyliczone przez przeglądarkę.
margin: auto dzieli wolne 5% po równo na lewo i prawo (R.4.4, R.4.7). Bloki w kontenerze i tak stoją jeden pod drugim, więc kontener nie potrzebuje siatki.
R.4.2 Ustawiono kolor tła: bloku banera na #00838F, bloków menu i stopki na #006064
R.4.5 Ustawiono wysokość bloku banera na 200px oraz trzech bloków głównych na 350px
ok. 2 min
Polecenie z arkusza
Banera: kolor tła #00838F, wysokość 200 px.
Tło i wysokość 200px (R.4.2, R.4.5). Obraz w banerze jako blok (display: block - bez szpary pod obrazem), wyśrodkowany przez margin-inline: auto, czyli automatyczne marginesy lewy i prawy. max-width: 100% z height: auto zmniejsza baner w wąskim oknie zamiast wypychać go poza stronę.
Tło i padding: 15px (R.4.2, R.4.7). Odnośniki układa flexbox: justify-content: center stawia je na środku, a gap: 1em daje stały odstęp między nimi - zamiast spacji z kodu HTML, która zależy od tego, jak zapisano znaczniki.
R.3.1 Układ bloków po uruchomieniu przynajmniej jednej strony w przeglądarce jest zgodny z Obrazem 3 w arkuszu egzaminacyjnym (prawidłowo zastosowano właściwości CSS układające bloki na stronie, np. float i clear albo display z wartością flex lub grid albo position, nie dotyczy bloku kontenera)
R.4.4 Ustawiono szerokość kontenera strony na 95%, trzech bloków głównych na 33% (width lub grid-template-columns lub flex)
R.4.5 Ustawiono wysokość bloku banera na 200px oraz trzech bloków głównych na 350px
ok. 3 min
Polecenie z arkusza
Trzech bloków głównych: wysokość 350 px, szerokość 33%.
<main> staje się siatką o trzech kolumnach po 33% - repeat(3, 33%) to skrót od 33% 33% 33% (klucz przyjmuje szerokość w grid-template-columns, R.4.4). Każdy blok .column ma wysokość 350px (R.4.5).
Trzy kolumny po 33% zajmują 99%. justify-content: space-between rozkłada pozostały 1% na dwie wąskie szczeliny między blokami, więc prawy blok kończy się równo z krawędzią strony. W wersji podstawowej trzy bloki stoją obok siebie dzięki float: left, a stopka potrzebuje clear: both - tu siatka obejmuje tylko trzy bloki i nic nie trzeba czyścić (R.3.1).
Typowe błędy
Szerokości bloków wpisuj w grid-template-columns. Dodatkowe width: 33% na .column liczyłoby się od kolumny siatki - blok miałby 11% strony.
R.4.6 Ustawiono wyrównanie tekstu do prawej strony dla stopki oraz do lewej strony dla selektora ul
ok. 1 min
Polecenie z arkusza
Selektora listy punktowanej: wyrównanie tekstu do lewej strony.
Selektor znacznika ul - arkusz zastrzega, że styl listy ma być zdefiniowany wyłącznie selektorem listy. Cała strona jest wyśrodkowana, a lista ma stać przy lewej krawędzi bloku, jak na obrazie 3 (R.4.6).
Typowe błędy
Styl dla klasy albo .column ul nie spełnia R.4.6 - klucz uznaje tylko selektor znacznika.
Kroki 37-40 · po tym etapie masz 41 z 41 kryteriów (pkt)
Krok 37: Plik kontakt.js i obsługa wysłania formularza
Kryteria: ,
R.3.4 Jeden przycisk czyści dane z pól, drugi przycisk uruchamia skrypt (obsługa zdarzenia zdefiniowana np. inline w znaczniku jako atrybut onClick lub w skrypcie JS np.: element.addEventListener("click", funkcja); lub element.onClick = …)
R.5.1 Skrypt napisano w języku uruchamianym po stronie przeglądarki oraz zdefiniowano funkcję wywoływaną po wciśnięciu przycisku "Wyślij"
ok. 3 min
Polecenie z arkusza
Wykonywany po stronie przeglądarki na stronie kontakt.html, wywoływany przyciskiem „Wyślij”.
Skrypt w osobnym pliku kontakt.js, dołączony w <head> z defer - wykona się dopiero po wczytaniu całego HTML-u, więc formularz już istnieje.
dwie stałe z formularzem i akapitem wyniku, wyszukane raz,
addEventListener('submit', showRequest) - funkcja showRequest uruchamia się przy wysłaniu formularza przyciskiem „Wyślij” albo Enterem (R.3.4, R.5.1),
event.preventDefault() zatrzymuje przeładowanie strony, które skasowałoby wynik.
R.5.2 Skrypt pobiera wartość z przynajmniej jednej kontrolki
ok. 2 min
Polecenie z arkusza
Skrypt pobiera wartości wprowadzone do kontrolek.
form.elements to kontrolki formularza dostępne po atrybucie name. Destrukturyzacja (nawiasy klamrowe) tworzy jedną linią cztery stałe. Wartości dają .value: tekst pola albo - dla <select> - wartość wybranej opcji (R.5.2).
kontakt.jsJavaScriptzmienione: 1 linia
const form = document.querySelector('.contact-form');const message = document.querySelector('.message');function showRequest(event) { event.preventDefault();const { firstName, lastName, email, service } = form.elements;}form.addEventListener('submit', showRequest);
Podgląd strony po tym kroku (kontakt.html)
Krok 39: Komunikat w trzech wierszach
Kryteria: , , , ,
R.5.3 Skrypt wyświetla dane wprowadzone do kontrolek: w pierwszej linii imię i nazwisko, poniżej email
R.5.4 Skrypt w trzeciej linii wyświetla napis "Usługa: ", następnie wartość wybranego pola listy rozwijalnej
R.5.5 Komunikat jest wyświetlany w paragrafie
R.5.6 Dla pola email zastosowano funkcję zmiany na małe litery
R.5.7 Zastosowano znaczące nazewnictwo dla wszystkich zmiennych i funkcji w języku polskim lub angielskim. Nazwy odzwierciedlają cel zastosowania
ok. 4 min
Polecenie z arkusza
Wyświetla komunikat pod linią poziomą, w paragrafie, w trzech wierszach, kolejno: imię i nazwisko, adres email – zapisany zawsze małymi literami, napis „Usługa: ”, następnie wartość wybranego pola listy rozwijalnej, zgodnie z obrazem 4.
trzy wiersze komunikatu w tablicylines, każdy w osobnej linii kodu - kolejność z arkusza widać od razu (R.5.3, R.5.4),
imię i nazwisko sklejone szablonem tekstowym, trim() obcina spacje z brzegów,
lines.join('\n') łączy wiersze znakiem nowej linii, a innerText wpisuje tekst do akapitu i każdy znak nowej linii zamienia na łamanie <br> (R.5.5). Wpisana treść zostaje zwykłym tekstem: imię <b>Jan</b> pojawi się dosłownie, zamiast pogrubić się jak przy innerHTML.
Wpisz w podglądzie Anna, Nowak, [email protected], wybierz „wirusy” i kliknij „Wyślij” - wynik jak na obrazie 4. Nazwy mówią, co przechowują: form, message, lines, showRequest (R.5.7).
Typowe błędy
textContent zamiast innerText nie zamienia znaków nowej linii na łamania - trzy informacje wyjdą w jednym wierszu (R.5.3, R.5.4).
„Czyść” przywraca kontrolki, ale akapit z wynikiem to nie kontrolka - zostałby na stronie. Drugi słuchacz, na zdarzenie reset formularza, opróżnia też akapit. Funkcja strzałkowa () => { ... } jest potrzebna tylko tutaj, więc nie ma nazwy.
Kroki 41-42 · po tym etapie masz 41 z 41 kryteriów (pkt)
Krok 41: Co jest inaczej i dlaczego
ok. 3 min
Polecenie z arkusza
Ocenie będzie podlegać 6 rezultatów: grafika i animacja, wygląd witryny internetowej, działanie witryny internetowej, styl CSS witryny internetowej, skrypt.
Arkusz zapowiada 6 rezultatów, ale wymienia pięć - i tyle ocenia klucz (R.1-R.5). Obie wersje dają te same punkty. Różnice:
wersja podstawowa
ta wersja
trzy bloki główne
float: left + clear: both w stopce
<main> z siatką repeat(3, 33%)
style
identyfikatory (#menu) i klasa block
klasy (.menu, .column)
kolory
wpisane w każdej regule
zmienne w :root
menu
odnośniki w linii tekstu
flexbox z gap
przycisk „Wyślij”
type="button" + onclick="send()"
type="submit", zdarzenie submit, preventDefault()
skrypt
<script> w kontakt.html
kontakt.js z defer
kontrolki w skrypcie
getElementById dla każdej
form.elements + destrukturyzacja
komunikat
innerHTML z <br> w napisie
tablica wierszy, join('\n'), innerText
„Czyść”
czyści pola
czyści też wynik
Skrypt tej wersji jest sprawdzony w prawdziwym Chrome: dane z obrazu 4 (adres małymi literami), <b>Jan</b> w imieniu (wyświetlone dosłownie), spacje wokół nazwiska i adresu, „Czyść” (pusty wynik, pole wyboru znów zaznaczone), a układ zmierzony: trzy bloki po 33% strony w jednym wierszu, ostatni równo z prawą krawędzią, stopka pod nimi.
Czas przeznaczony na wykonanie zadania wynosi 150 minut.
Wersja podstawowa, gdy liczy się czas: float, onclick, getElementById i innerHTML są w tabelach arkusza, a skrypt to kilka linii w pliku strony.
Ta wersja, gdy siatkę CSS i obsługę zdarzenia submit pisze się z pamięci. Plik kontakt.js trzeba nagrać na płytę - bez niego „Wyślij” przestaje działać, a punkty skryptu egzaminator sprawdzi już tylko w kodzie.
Mieszanie też daje pełne punkty: siatka i zmienne z tej wersji, skrypt z podstawowej.
Krok 43 · po tym etapie masz 41 z 41 kryteriów (pkt)
Krok 43: Plik przeglądarka.txt i nagranie płyty
ok. 5 min
Polecenie z arkusza
Po zakończeniu pracy utwórz w folderze z numerem zdającego plik tekstowy o nazwie przeglądarka.txt. Zapisz w nim nazwę przeglądarki internetowej, w której weryfikowana była poprawność działania witryny. Nagraj płytę z rezultatami pracy.
W przeglądarka.txt nazwa przeglądarki, w której strony były sprawdzane.
W folderze: animacja.gif, baner1.png, baner2.png, favicon.png, index.html, klatki.jpg, kontakt.html, przeglądarka.txt, styl.css oraz kontakt.js („ewentualnie inne przygotowane pliki”). Nagraj płytę, sprawdź jej odczyt i opisz ją numerem zdającego.
Symulacja ekranu w przeglądarce - w Android Studio / Visual Studio wygląd może się nieco różnić.
To jedno z możliwych rozwiązań. Egzaminator ocenia spełnienie kryteriów z klucza odpowiedzi, a nie zgodność z tym kodem - inna, poprawna droga też daje punkty.
Autor rozwiązania: Bartosz Bryniarski. Licencja CC BY-NC 4.0 - kopiowanie i przeróbki do celów niekomercyjnych, z podaniem autora i źródła (link do tej strony) (zasady wykorzystania). Treść arkusza i klucza oceniania pochodzi z CKE.