Spowiednik html-iankichacker.pl



Na początku było Słowo…



01.09.2020

Tag < embed >: Twój plan awaryjny

Ale co się dzieje, gdy ktoś odwiedza Twoją witrynę za pomocą starszej przeglądarki, która nie obsługuje HTML5? W takim przypadku nie będą mogli oglądać wideo za pomocą tagu < video >. Na szczęście starsze przeglądarki po prostu zignorują tag wideo, więc sama jego obecność nie spowoduje błędów. Jednak nadal musisz znaleźć sposób, aby ci goście mogli obejrzeć wideo. Przekonasz się, że większość użytkowników Internet Explorera ma również zainstalowaną wtyczkę Adobe Flash. Mając to na uwadze, możesz również dołączyć wersję Flash wideo na swojej stronie. Możesz dołączyć dodatkowy element za pomocą tagu < embed >. Adobe Flash może odtwarzać wideo zakodowane w H.264 z dźwiękiem AAC; w związku z tym nie musisz konwertować swojego wideo na inny format. Oto przykład:

< embed src = "myvideo.mp4" type = "application / x-shockwave-flash" width = "320" height = "240" allowedcriptaccess = "always" allowfullscreen = "true" >


Powrót

02.09.2020

Umieszczanie dźwięku na stronie internetowej

Dobrą wiadomością jest to, że przeglądając informacje wideo, że nauczyłeś się już prawie całego tła potrzebnego do odtwarzania dźwięku na stronie internetowej. Zła wiadomość jest taka, że te same problemy z formatem i kodowaniem, które nękają wideo w Internecie, dotyczą również dźwięku, z wyjątkiem tego, że problemy z dźwiękiem są nieco gorsze. Ta sekcja analizuje tag < audio > i jego alternatywy.

Odtwarzanie dźwięku ze znacznikiem < audio >

Możesz pomyśleć, że odtwarzanie dźwięku na stronie internetowej byłoby łatwiejsze niż wideo, ale w większości tak nie jest. Nadal musisz zapewnić różne przeglądarki i zakodować dźwięk w różnych formatach. Ponadto w większości użytkownicy nadal będą potrzebować specjalnych wtyczek do odtwarzania dźwięku. To powiedziawszy, tag < audio > jest nowością w HTML5 i zakładając, że producenci przeglądarek mogą dojść do jakiegoś rodzaju umowy (i to tak jak ja wygrywam na loterii), odtwarzanie dźwięku w Internecie powinno stać się łatwiejsze. Podobnie jak tag < video >, tag < audio > obsługuje wiele źródeł. Ponieważ nie ma wspólnego formatu, trzeba będzie wielokrotnie kodować dźwięk, aby dotrzeć do jak największej liczby odbiorców. Podobnie jak tag < video >, tag < audio > obsługuje takie atrybuty, jak elementy sterujące, autoodtwarzanie, pętla i wstępne ładowanie. Dlatego składnia tagu < audio > jest zasadniczo taka sama, jak składnia tagu < video >.

Wskazówka : Istnieje wiele aplikacji, które konwertują dźwięk między formatami. Podobnie jak w przypadku konwersji wideo, podczas pisania tego rozdziału użyłem VLC do konwersji dźwięku. VLC jest dostępne pod adresem http://www.videolan.org/vlc/.

Odniosłem duży sukces, używając jednocześnie formatów MP3 i Ogg Vorbis. Znajdziesz obsługę co najmniej jednego z tych dwóch formatów w przeglądarkach Firefox, Chrome, Safari, Opera i Internet Explorer 9. Ponownie, podobnie jak w przypadku wideo, musisz osadzić strumień audio w obiekcie Flash, aby starsze wersje Internet Explorer może go używać. Oto przykład pokazujący tag < audio > z dwoma plikami, które są wywoływane za pomocą elementu < source >, który widziałeś wcześniej w sekcji wideo:

< audio controls >

< source src="myaudio.mp3" >< /source >

< source src="myaudio.ogg" >< /source >

< /audio >

Odtwarzanie dźwięku w starszych przeglądarkach

Podobnie jak w przypadku wideo, odtwarzanie dźwięku w starszych przeglądarkach wymaga tagu < embed >. W przypadku używania z dźwiękiem zazwyczaj używasz dwóch atrybutów, src i autostart; src konfiguruje źródło dźwięku, a autostart kontroluje, czy klip audio powinien być odtwarzany automatycznie po załadowaniu strony. Dodanie tagu do poprzedniego przykładu skutkuje tym HTML:

< audio autoplay loop >

< source src="myaudio.mp3" >

< source src="myaudio.ogg" >

< embed src="myaudio.mp3" >

< /audio >

Domyślnie zawartość dołączona do elementu < embed > będzie odtwarzana automatycznie. Jeśli tego nie chcesz, dodaj tag atrybutu autostart = "false", na przykład:

< embed src = "myaudio.mp3" autostart = "false" >

Uwaga : Nawet w przypadku korzystania z < embed > w celu dołączenia dźwięku, odwiedzający musi nadal mieć oprogramowanie umożliwiające odtworzenie typu wysyłanego pliku. Innym atrybutem często używanym z elementem < embed > jest atrybut pętli. Atrybut loop, ustawiony na true lub infinite, uruchamia ponownie klip audio po jego zakończeniu. Można również ustawić wartość false, aby wskazać, że klip audio powinien być odtwarzany tylko raz. Jednak domyślnie klip audio jest odtwarzany tylko raz; dlatego pominięcie atrybutu pętli jest tym samym, co ustawienie wartości false.


Powrót

03.09.2020

Kluczowe punkty

•  Dołączanie dźwięku i obrazu odbywa się poprzez dostarczanie plików wideo i audio w wielu formatach, aby zapewnić odwiedzającym możliwość oglądania multimediów niezależnie od używanej przeglądarki.

•  Ważne jest, aby zrozumieć różne kontenery i kodeki dostępne dla wideo i audio oraz sposób, w jaki są one obsługiwane w przeglądarkach użytkownika.

•  HTML5 wprowadza tagi < video > i < audio >, które umożliwiają umieszczanie multimediów na stronach internetowych.

•  Starsze przeglądarki nie obsługują tagów < audio > i < video >, dlatego ważne jest, aby udostępniać wideo w starszych formatach, takich jak Flash, aby umożliwić użytkownikom korzystającym z tych przeglądarek również przeglądanie zawartości.

•  Użyj znacznika < embed >, aby dołączyć zawartość audio i wideo w formacie, który mogą być interpretowane przez przeglądarki niezgodne z HTML5.


Powrót

04.09.2020

Przedstawiamy Canvas

Jednym z najbardziej ekscytujących elementów dodanych w HTML5 (a jest ich wiele) jest element canvas. Element canvas umożliwia zaawansowaną grafikę i interakcje w sposób, który wcześniej można było osiągnąć tylko przy użyciu wolnych stron z wtyczkami. Element canvas to obszar o dowolnym kształcie, w którym można używać obrazów, narysowanej grafiki, animacji i tekstu, aby poprawić wrażenia użytkownika na stronie sieci Web. Dodajesz element canvas do strony WWW za pomocą trafnie zatytułowanego tagu < canvas >. Podobnie jak inne tagi HTML, tag < canvas > akceptuje atrybuty, z których najbardziej podstawowe to wysokość w pikselach i szerokość obszaru roboczego na stronie. Kod do utworzenia płótna o wymiarach 200 × 200 pikseli wygląda następująco:

< canvas width = "200" height = "200" > < /canvas >

Oto składnia całej strony z płótnem 200 × 200 w środku:

< ! DOCTYPE HTML >

< html >

< head >

< meta http-equiv = "Content-Type" content = "text / html; charset = utf-8" >

< title > Płótno < /title >

< /head >

< body >

< canvas width = "200" height = "200" > < /canvas >

< /body >

< /html >

Ten kod HTML tworzy płótno na stronie, która jest gotowa na zawartość. Ale poczekaj! Jakie korzyści zapewnia element canvas na stronie? Jak stworzyć fajny animowany zegar, menu lub inny widżet? Niestety, w tym tkwi problem. Umieszczony po prostu na stronie takiej jak pokazana, tag < canvas > nic nie robi. W rzeczywistości jest po prostu pusty; Śmiało i załaduj ten kod do przeglądarki kompatybilnej z kanwą (Internet Explorer 9, Firefox 1.5 lub nowszy, Safari itd.). Strona jest pusta. Jak więc możesz zmusić płótno do zrobienia czegoś? Odpowiedź leży w języku programowania, który rozumieją wszystkie współczesne przeglądarki: JavaScript. Ożywisz element canvas za pomocą JavaScript; wszystko na płótnie jest rysowane, animowane i niszczone za pomocą JavaScript. Możesz nie wiedzieć zbyt wiele o JavaScript. Jednak informacje zawarte w tym rozdziale stanowią wprowadzenie. Po zapoznaniu się z JavaScript będziesz w stanie sprawić, by element canvas wykonywał zabawne i interesujące rzeczy!

JavaScript, krótko

JavaScript to nie Java; nie ma to żadnego związku z językiem programowania Java, napojem ani krajem. JavaScript jest językiem programowania używanym głównie w celu zapewnienia dodatkowej funkcjonalności stronom internetowym i aplikacjom i jest często używany w paradygmacie "Web 2.0" wysoce interaktywnych witryn sieci Web. Chociaż ten rozdział nie pokaże, jak zbudować następny interfejs Microsoft Bing Maps, omawia podstawy JavaScript, aby zapoznać Cię z językiem i jego możliwościami. Należy pamiętać, że jest to po prostu wprowadzenie; nauka języka JavaScript w celu dodania złożonej funkcjonalności i budowanie aplikacji opartej na języku JavaScript dla witryny sieci Web wykracza poza zakres tego rozdziału. Tak jak kod HTML jest kodowany za pomocą standardów, JavaScript również opiera się na standardzie zwanym specyfikacją ECMA-262. Najnowsza wersja specyfikacji, wersja 5, została wydana w 2009 roku. Niestety różne przeglądarki internetowe implementują specyfikację ECMA-262 inaczej - co oznacza, że programiści JavaScript muszą zadbać o obejście dziwactw i różnic w różnych implementacjach przeglądarek. Jednym ze sposobów dostarczenia JavaScript, który działa w ten sam sposób we wszystkich popularnych przeglądarkach, jest użycie biblioteki lub struktury. Jeden z popularnych frameworków, jQuery, umożliwia szybkie tworzenie i używanie JavaScript bez konieczności poznawania zawiłości i niuansów związanych z różnymi przeglądarkami internetowymi. jQuery upraszcza również wiele typowych zadań JavaScript dla programistów WWW.

Włączanie JavaScript do Twojej strony internetowej

Aby użyć JavaScript na swojej stronie, umieść tag < script >. W szczególności używany tag otwierający jest następujący:

< script type = "text / javascript" >

A tag zamykający to:

< /script >

Magia dzieje się między tagiem otwierającym i zamykającym, czyli tam, gdzie umieszczasz kod JavaScript. Tag < script > często zawiera również atrybut src, który określa, że strona powinna zawierać zewnętrzny plik JavaScript. Na przykład, jeśli masz plik zawierający kod JavaScript o nazwie "myjavascript.js", możesz dołączyć go w ten sposób:

< script type = "text / javascript" src = "myjavascript.js" > < /script >

Pamiętaj, że nadal musisz dołączyć tag zamykający < /script >, gdy dołączasz zewnętrzny plik JavaScript.

Utrzymywanie JavaScript z dala od przeglądarki

Podczas tworzenia witryn sieci Web nieuchronnie napotkasz użytkowników, którzy mają wyłączoną obsługę JavaScript w swoich przeglądarkach internetowych lub którzy nie zainstalowali najnowszych wersji swoich przeglądarek. Istnieje wiele powodów, dla których użytkownik może nie mieć włączonej obsługi JavaScript, w tym przyczyny dostępności i osobiste preferencje. Na przykład, wiele osób korzysta z dodatku NoScript do przeglądarki Mozilla Firefox, który automatycznie wyłącza JavaScript. Bez względu na powód, musisz najpierw założyć, że JavaScript nie jest dostępny - używając podejścia, że JavaScript działa tylko jako ulepszenie użyteczności. Innymi słowy, chcesz się upewnić, że JavaScript nie działa poprawnie, tak aby Twoja witryna nadal działała bez włączonej obsługi JavaScript. Jednym ze sposobów sprawdzenia, czy JavaScript jest włączony, jest użycie tagu < noscript >. Używając < noscript >, możesz dostarczyć zawartość, jeśli przeglądarka nie obsługuje lub nie używa JavaScript. Wstaw tagi < noscript > na swojej stronie i umieść HTML między nimi. Jeśli osoba odwiedzająca Twoją witrynę nie ma włączonej obsługi JavaScript, zobaczy zawartość wewnątrz tagów < noscript >.

Teraz, gdy już zaprogramowałeś swoją pierwszą stronę internetową z włączoną obsługą JavaScript i dowiedziałeś się nieco więcej o używaniu JavaScript na stronie, czas przejść do większych i lepszych rzeczy. Co jeszcze może zrobić JavaScript na stronie? Wystarczy spojrzeć na takie strony jak Microsoft Bing Maps (http://www.bing.com/Maps/), aby mieć pomysł. Ale prawie każdy nowoczesny interfejs sieciowy używa JavaScript w takiej czy innej formie.


Powrót

05.09.2020

Zdarzenia JavaScript i jQuery

Większość nowoczesnych witryn sieci Web używa języka JavaScript do dynamicznego reagowania na działania myszy na stronie internetowej i zmieniania elementów tej strony na podstawie tych ruchów lub innych danych wprowadzanych przez użytkownika. Aby to zrobić, wymagana jest "obsługa zdarzeń", która jest nieco zaawansowaną koncepcją - lub przynajmniej taką, która wymaga programowania JavaScript wykraczającego poza to, co widziałeś na początku! Aby wprowadzić obsługę zdarzeń na bardzo wczesnym etapie Twojej przygody z JavaScriptem, potrzebuję pomocy dodatkowego narzędzia o nazwie jQuery. jQuery to plik JavaScript typu open source, który nie tylko eliminuje konieczność obsługi wielu niezgodności między przeglądarkami przez programistów, ale także upraszcza znacznie bardziej zaawansowane programowanie, niż byłoby to normalnie dostępne dla początkujących programistów JavaScript. Framework jQuery JavaScript jest doskonałym narzędziem zarówno do pracy ze zdarzeniami JavaScript, jak i do ogólnego programowania w języku JavaScript.

Uzyskanie jQuery

Możesz pobrać jQuery z http://jquery.com. jQuery to pojedynczy plik, który należy umieścić w katalogu głównym dokumentu lub w głównym folderze witryny sieci Web (lub w dowolnym miejscu, w którym umieszczasz pliki JavaScript w swoim środowisku). jQuery występuje w dwóch formach, wersji rozwojowej i wersji produkcyjnej. Wersja produkcyjna jest "zminimalizowana", co oznacza, że została zoptymalizowana pod kątem szybkości (rozmiar pobierania jest mniejszy), ale to bardzo utrudnia korzystanie z niej. Wersja rozwojowa nie jest zminimalizowana, więc możesz łatwiej odczytać kod.

Uwaga: w przypadku prawie wszystkich zastosowań jQuery w środowisku produkcyjnym będziesz chciał uzyskać i wdrożyć wersję zminimalizowaną. Pobrany plik tej wersji nosi nazwę "jquery-1.4.4.min.js". Dołączasz ten plik do swojej strony internetowej tak jak każdy inny zewnętrzny plik JavaScript, używając tagu < script> , jak już widzieliśmy w tym rozdziale:

< script type = "text / javascript" src = "jquery-1.4.4.min.js" > < /script >

Uwaga: wersja jQuery prawdopodobnie będzie się różnić w czasie, gdy to przeczytasz, więc przykładowy tag < script >, który właśnie zobaczyłeś, musiałby wskazywać wersję jQuery, którą pobierasz. Oto kompletna przykładowa strona (chociaż nic nie robi), która zawiera jQuery:

< ! DOCTYPE html>

< head >

< script type = "text / javascript" src = "jquery-1.4.4.min.js" > < /script >

< title > W tym jQuery < /title >

< /head >

< body >

< /body >

< /html >

Możliwe jest również użycie jQuery hostowanego w sieci dostarczania treści (CDN). Korzystając z jQuery opartej na CDN, możesz po prostu wskazać tag < script > w kierunku adresu URL biblioteki w zewnętrznej sieci CDN. Takie postępowanie wygląda następująco:

< script type = "text / javascript" src = http://code.jquery.com/jquery-1.4.4.min.js > < /script >

Jednak, jak już wspomniano, zaleca się samodzielne przechowywanie pliku do celów produkcyjnych w aktywnych witrynach, a nie poleganie na CDN. Nie ma nic gorszego niż posiadanie witryny sieci Web działającej i działającej, ale polegającej na wyłączonej witrynie sieci Web z biblioteką opartej na sieci CDN. Jednak na potrzeby tego rozdziału całkowicie dopuszczalne jest używanie wersji opartej na CDN zamiast samodzielnego pobierania jQuery. Większość przykładów w tym rozdziale zakłada, że pobrałeś lokalnie jQuery i dopasowałeś numer wersji do wersji, którą pobrałeś. Jeśli chcesz korzystać z wersji opartej na CDN, przejdź na stronę http://docs.jquery.com/Downloading_jQuery#CDN_Hosted_jQuery, aby uzyskać aktualny adres URL.


Powrót

06.09.2020

Przygotowanie do jQuery

Wyobraź sobie ten problem: napisałeś trochę JavaScript i umieściłeś go tuż przed zamykającym tagiem < /body> , jak pokazano wcześniej. Jedną z rzeczy, które robi twój JavaScript, jest zmiana obrazu na stronie. Problem polega na tym, że obraz nie został załadowany, więc teraz środowisko wykonawcze JavaScript nie może go znaleźć, a strona ładuje się nieprawidłowo. Główną przyczyną tego zbyt częstego problemu jest to, że przeglądarki wykonują JavaScript, gdy napotykają skrypty na stronie. Więc nawet jeśli JavaScript znajduje się na dole strony, przeglądarka może nie załadować całej strony przed uruchomieniem JavaScript. Innymi słowy, dokument nie jest gotowy do czasu uruchomienia JavaScript, więc chaos wynika. Obejściem tego problemu jest użycie zdarzenia onload lub load na stronie, ale nawet to jest najeżone niebezpieczeństwami, nie wspominając o tym, że jest to zła praktyka. Na szczęście jQuery zawiera funkcję o nazwie .ready(), która jest wykonywana dopiero po załadowaniu strony przez przeglądarkę i jest gotowa do uruchomienia kodu JavaScript. Funkcja .ready() to prosty sposób na wykonanie JavaScriptu ze świadomością, że wszystkie elementy strony zostały załadowane i są gotowe do użycia. Kod jQuery zaczyna się od znaku dolara i nawiasów, jak zobaczysz w następnym przykładzie. Korzystanie z funkcji .ready() jest łatwe. Poniższy kod przedstawia przykład działania funkcji .ready().

< !DOCTYPE html >

< html >

< head >

< title >Document Ready< /title >

< script type="text/javascript" src="jquery-1.4.4.min.js" >< /script >

< /head >

< body >

< script type="text/javascript" >

$(document).ready(alert('Hello Again'));

< /script >

< /body >

< /html >

Kod pokazany powyżej zawiera bibliotekę jQuery, a następnie używa zarówno funkcji .ready(), jak i innych skryptów JavaScript, aby pokazać alert. To jest ważny punkt dotyczący jQuery: używasz go do pomocy przy pisaniu JavaScript. jQuery to nie JavaScript; zamiast tego jest to narzędzie, którego używasz do pomocy w wykonywaniu typowych zadań JavaScript, a czasami do uproszczenia zadań, które są trudne do wykonania przy użyciu samego JavaScript. Uwaga Istnieją również inne platformy, które mogą pomóc w kodowaniu JavaScript, w tym MooTools, Yahoo! Biblioteka interfejsu użytkownika (YUI), prototypeJS i inne. Jako przykłady w tej książce wybrałem jQuery, ponieważ jest popularny, a także dlatego, że jest dołączony do niektórych produktów firmy Microsoft. Wiesz już, jak pobrać jQuery, jak umieścić go na stronie internetowej i jak uruchomić kod JavaScript za pomocą funkcji .ready () jQuery. Kolejnym punktem porządku obrad jest wybór elementów.


Powrót

07.09.2020

Wybieranie elementów za pomocą jQuery

jQuery ma własną składnię do wybierania elementów, takich jak < p >, < img >, < div > i tak dalej. Składnia selektora jQuery zastępuje przykład getElementById, który widzieliśmy wcześniej w tym rozdziale. Przypomnij sobie, że przykładowy kod HTML zawiera element < div > z atrybutem id elementu contentDiv, jak pokazano poniżej:

< div id = "contentDiv" > Twoja pierwsza strona JavaScript. < /div >

jQuery ułatwia wybranie tego elementu za pomocą jQuery, używając następującej składni:

$ ("# contentDiv")

Alternatywnie możesz wybrać wszystkie elementy

za pomocą następującej składni:

$ ("div")

Możesz także wybierać elementy według ich klas kaskadowych arkuszy stylów (CSS) z prefiksem kropki, podobnie jak w samym pliku CSS:

$ (". className") jQuery udostępnia kilka innych sposobów wybierania elementów, w tym funkcje hierarchiczne, za pomocą których można wybierać elementy podrzędne elementu; sposób na wybranie każdego innego elementu oprócz określonego elementu; elementy macierzyste elementu; i wiele innych selektorów. Zobacz http://api.jquery.com/category/selectors, aby uzyskać informacje na temat wszystkich dostępnych selektorów w jQuery. Co możesz zrobić z wybranym elementem? Odpowiedzi są praktycznie nieograniczone. Na przykład, przypomnij sobie, że w przykładzie z poprzedniego rozdziału zmieniłeś kolor tła
na szary za pomocą JavaScript. Oto jak zrobiłbyś to samo za pomocą jQuery:

$ ("# contentDiv"). css ("backgroundColor", "# abacab");

Oto dodatkowy przykład użycia funkcji jQuery fadeOut ():

< ! DOCTYPE HTML >

< html >

< head >

< meta http-equiv = "Content-Type" content = "text / html; charset = utf-8" >

< title > jQuery 101 < /title >

< script type = "text / javascript" src = "jquery-1.4.4.min.js" > < /script >

< /head >

< body >

< div id = "contentDiv" > Twoja druga strona JavaScript. < /div >

< script type = "text / javascript" >

$ ("# contentDiv"). css ("backgroundColor", "#abacab");

$ ("# contentDiv"). fadeOut ();

< /script >

< /body >

< /html >

Wyświetlenie tej strony w przeglądarce spowoduje zanikanie contentDiv po pewnym domyślnym (i krótkim) czasie. Jeśli uznasz, że ten okres jest zbyt krótki, możesz również określić czas trwania. Czas jest mierzony w milisekundach dla tej (i większości innych) funkcji w jQuery, więc każda sekunda to 1000 milisekund. Dlatego, aby ustawić czas zanikania na 5 sekund, należy napisać:

$ ("# contentDiv"). fadeOut (5000);

Wiesz już, jak pobrać jQuery, połączyć go ze swoją stroną i używać go do wybierania elementów. Właśnie spojrzałeś na bonusowy przykład funkcji wbudowanej w jQuery o nazwie .fadeOut (). Prowadzi to do bardziej uogólnionego omówienia funkcji w jQuery i Java Script. Obiecuję, że niedługo przejdziemy do fajnych rzeczy.


Powrót

08.09.2020

Wywołanie funkcji za pomocą JavaScript

Funkcje to grupy kodu, które wykonują zadanie. Oto funkcja:

function doSomething () {

alert ("Witaj świecie");

}

To wszystko, to wszystko, co dotyczy funkcji. Cóż prawie. Ale nie ma powodu, aby zaśmiecać dyskusję o funkcjach, gdy wystarczy prosty przykład. Przykład .fadeOut () dał ci wgląd w inną ważną część funkcji: argument funkcji. Argument funkcji to wartość przekazywana do funkcji, która określa, w jaki sposób lub co funkcja powinna zrobić, wykonując swoje zaprojektowane zadanie. Funkcja .fadeOut () używa argumentu duration (przekazanego jako 5000 w przykładzie na końcu poprzedniej sekcji), aby ustawić czas, przez jaki funkcja czeka, zanim zaniknie element. Na przykład, oto funkcja showAlert (), która przyjmuje pojedynczy argument o nazwie alertText, a następnie wyświetla go w oknie dialogowym ostrzeżenia:

function showAlert (alertText) {

alert (alertText);

}

Wywołanie lub wywołanie funkcji wygląda następująco:

showAlert ("Pokazywanie alertu jest przyjemne i łatwe.");

Innym ważnym aspektem funkcji jest to, że mogą zwracać wartość. Zwykle wartość zwracana byłaby wynikiem działania funkcji, chociaż wartość zwracana może być dowolną wartością. Na razie zajmiesz się typowym przykładem, w którym wartość zwracana jest logicznym wynikiem funkcji. W następnym przykładzie funkcja dodaje dwie liczby i zwraca wynik.

function addTwo(num1, num2) {

var result = num1 + num2;

return result;

}

Wywołujesz funkcję w taki sam sposób, jak w poprzednim przykładzie, ale tym razem funkcja zwraca wartość, którą chcesz przechwycić, aby można było jej użyć później, jak pokazano poniżej:

var getSum = addTwo (2,5);

Za pomocą tego kodu suma dwóch liczb, 2 i 5, zostanie umieszczona w zmiennej getSum, której można następnie użyć w dalszej części programu. Będziesz często używać funkcji i przekazywać argumenty do funkcji, zwłaszcza podczas pracy z obsługą zdarzeń w JavaScript i jQuery. Program JavaScript o minimalnej złożoności i rozmiarze będzie również zazwyczaj używał funkcji. Po zebraniu całej tej podstawowej wiedzy nadszedł czas, aby przyjrzeć się pracy ze zdarzeniami w JavaScript i jQuery. Zdarzenia to czynności, takie jak kliknięcia myszą, naciśnięcia klawiszy i wprowadzanie tekstu do formularza.


Powrót

09.09.2020

Odpowiadanie na zdarzenia za pomocą jQuery i JavaScript

Odpowiadanie na zdarzenia za pomocą JavaScript jest złożonym procesem, który obejmuje pracę z wieloma modelami zdarzeń udostępnianymi przez różne przeglądarki internetowe i wiele wersji modelu obiektu dokumentu (DOM) w celu uzyskania prawidłowego kodu do wykonania we właściwym czasie. Dlatego zamiast spędzać następne 30 stron na dogłębnej dyskusji na temat obsługi zdarzeń, skrócę krzywą uczenia się, aby pokazać, jak obsługiwać zdarzenia za pomocą jQuery. jQuery zawiera kilka funkcji związanych ze zdarzeniami, takich jak .click () do reagowania na kliknięcia myszą, .submit () do odpowiadania na przesłanie formularza, .hover () do reagowania, gdy kursor myszy znajduje się na elemencie i kilka innych. W rzeczywistości funkcja .ready (), którą widziałeś wcześniej, jest programem obsługi zdarzeń. Zobacz http://api.jquery.com/category/events, aby uzyskać więcej informacji na temat obsługi zdarzeń, w tym listę dostępnych funkcji obsługi jQuery.

Wcześniej widziałeś w użyciu funkcję .fadeOut(). Ta funkcja działała podczas ładowania strony (a dokładniej, gdy przeglądarka napotkała JavaScript). Aby element
zanikał, gdy użytkownik kliknie go myszą, należy dołączyć procedurę obsługi zdarzenia kliknięcia do tego elementu
. W jQuery robisz to za pomocą funkcji .click (), która wygląda jak na poniższym przykładzie (wyróżniłem odpowiedni kod pogrubioną czcionką):

< !DOCTYPE HTML >

< html >

< head >

< meta http-equiv="Content-Type" content="text/html; charset=utf-8" >

< title >jQuery 101< /title >

< script type="text/javascript" src="jquery-1.4.4.min.js" >< /script >

< /head >

< body >

< div id="contentDiv" >Your second JavaScript page.< /div >

< script type="text/javascript" >

$("#contentDiv").css("backgroundColor", "#abacab");

$("#contentDiv").click(function() {

$(this).fadeOut(5000);

});

< /script >

< /body >

< /html >

Zauważ, że funkcja .click() jest dołączona bezpośrednio do
, który ma identyfikator content-Div. Sama funkcja .click() wywołuje inną funkcję (funkcję anonimową, umieszczoną w nawiasach klamrowych), która wywołuje funkcję .fadeOut(). Zauważysz, że jest tutaj nowa część, identyfikator $ (this). Identyfikator $ (this) odnosi się do elementu, który wywołał zdarzenie, więc w pokazanym przykładzie $ (this) odnosi się do elementu contentDiv. Możesz też napisać to tak:

$ ("# contentDiv"). click (function () {

$ ("# contentDiv"). fadeOut (5000);

});

Po załadowaniu tej strony w przeglądarce internetowej zobaczysz ekran podobny do pokazanego poniżej. Po kliknięciu elementu
cały element
powoli zniknie.


Powrót

10.09.2020

Walidacja formularza internetowego za pomocą jQuery i JavaScript

Jednym z typowych zastosowań JavaScript jest walidacja formularza internetowego lub, bardziej odpowiednio, wstępne sprawdzenie formularza internetowego. Po przesłaniu formularza internetowego jest on wysyłany do programu na serwerze, który może następnie zrobić coś pożytecznego z danymi, na przykład sfinalizować zamówienie lub przechowywać dane w bazie danych. Jednak używanie JavaScript do sprawdzania poprawności nie zapewnia bezpieczeństwa programu opartego na serwerze.

Nie zastępuj walidacji JavaScript walidacją po stronie serwera

Nie ma gwarancji, że odwiedzający Twoją stronę internetową ma włączoną obsługę JavaScript w swojej przeglądarce. Dlatego nie można polegać na JavaScript jako jedynym sposobie sprawdzenia, czy użytkownik wprowadził odpowiednio sformatowane dane. Włamano się na więcej niż jedną witrynę sieci Web, ponieważ programista polegał wyłącznie na języku JavaScript do sprawdzania poprawności i weryfikacji treści danych wprowadzanych przez użytkownika z formularza sieci Web. Wszystkie dane muszą zostać zweryfikowane na serwerze lub w kodzie serwera. Żadna ilość sprawdzania poprawności JavaScript, próba wymagania JavaScript lub innych sztuczek zapewni, że dane są bezpieczne. Zawsze weryfikuj dane na serwerze. JavaScript używany jako środek do sprawdzania poprawności danych formularzy ma być używany tylko w celu poprawy komfortu użytkowania przez dostarczanie wczesnych informacji zwrotnych na temat znanych nieprawidłowych danych. JavaScript nigdy nie jest - i nigdy nie powinien być - używany do prawdziwego sprawdzania poprawności danych.

Mając to na uwadze, oto prosty formularz i trochę kodu JavaScript / jQuery do weryfikacji pola tekstowego w formularzu:

< !DOCTYPE HTML >

< html >

< head >

< meta http-equiv="Content-Type" content="text/html; charset=utf-8" >

< title >jQuery 101< /title >

< script type="text/javascript" src="jquery-1.4.4.min.js" >< /script >

< /head >

< body >

< form id="myForm" name="myForm" action="#" method="post" >

< p >Answer: < input id="firstName" type="text" name="firstname" >< /p >

< p >< input type="submit" name="formSubmit" value="Check Form" >< /p >

< /form >

< script type="text/javascript" >

$("#myForm").submit(function() {

if ($("#firstName").val() == "Yes") {

alert("Form entered correctly");

} else {

alert("Form not correct");

return false;

}

});

< /script >

< /body >

< /html >

Kod wprowadza kilka nowych koncepcji, a mianowicie warunkowe if. W tym przypadku kod używa warunku if, aby sprawdzić, czy wartość wprowadzona przez użytkownika jest zgodna z tym, czego oczekujesz od pola tekstowego w formularzu. Funkcja jQuery .val() w poprzednim kodzie również jest tutaj nowa. Funkcja .val() pobiera wartość tego, co zostało wprowadzone w polu tekstowym (lub jakikolwiek element został wybrany). Wreszcie, gdy pole tekstowe nie jest poprawnie wypełnione, zwraca wartość false; komunikat. W tym kontekście zwraca false; wskazuje, że przetwarzanie formularza internetowego nie powinno być kontynuowane i formularz nie powinien być przesyłany. Po przesłaniu wartości Tak w polu tekstowym kod wyświetla ostrzeżenie i kontynuuje przesyłanie formularza. Jeśli użytkownik wprowadzi cokolwiek innego i prześle formularz, kod weryfikacyjny wyświetli alert wskazujący, że formularz nie został wypełniony poprawnie, i zatrzymuje przesyłanie formularza na serwer, zwracając wartość false. Bardziej złożonym, ale bardziej przyjaznym dla użytkownika podejściem do obsługi błędów jest zmiana koloru tła w nieprawidłowo wypełnionym polu formularza. Oczywiście w przypadku formularza jednego pola w tym przykładzie jest jasne, które pole jest nieprawidłowe. Ale w bardziej złożonym formularzu może nie być tak oczywiste, które pole zawiera nieprawidłową wartość. Oto kod do zmiany koloru tła:

$("#myForm").submit(function() {

if ($("#firstName").val() == "Yes") {

alert("Form entered correctly");

} else {

$("#firstName").css("backgroundColor","red");

return false;

}

});

Ten kod zmienia backgroundColor elementu formularza identyfikowanego przez id first Name na czerwony, gdy jest wypełniony niepoprawnie. Jednak najlepsza praktyka nakazuje nie zmieniać informacji o stylu CSS w kodzie JavaScript. O wiele lepiej jest dodawać i usuwać style CSS z elementów. Takie postępowanie ułatwia rozwiązywanie problemów i skutkuje bardziej przejrzystym kodem. jQuery posiada funkcje do dodawania i usuwania klas CSS z elementów: plik o trafnym tytule. funkcje addClass () i .removeClass (). Na stronach sprawdzania poprawności formularzy zazwyczaj tworzę klasę błędów CSS, która ustawia kolor tła na czerwony (lub czerwonawy, który przyciąga uwagę). Styl CSS może wyglądać tak:

.errorField {

background-color: red;

}

Następnie w kodzie, zamiast zmieniać rzeczywisty kolor tła CSS, zastosuję klasę błędu za pomocą funkcji .addClass (), jak pokazano poniżej:

$ ("# firstName"). addClass ("errorClass");

Cała strona, w tym kod JavaScript i informacje o stylu CSS, jest pokazana w poniższym kodzie:

< !DOCTYPE HTML >

< html >

< head >

< meta http-equiv="Content-Type" content="text/html; charset=utf-8" >

< title >jQuery 101< /title >

< script type="text/javascript" src="jquery-1.4.4.min.js" >< /script >

< style type="text/css" >

.errorClass {

background-color: red;

}

< /style >

< /head >

< body >

< form id="myForm" name="myForm" action="#" method="post" >

< p >Answer: < input id="firstName" type="text" name="firstname" >< /p >

< p> < input type="submit" name="formSubmit" value="Check Form" >< /p >

< /form >

< script type="text/javascript" >

$(document).ready(function() {

$("#myForm").submit(function() {

if ($("#firstName").val() == "Yes") {

$("#firstName").removeClass("errorClass");

alert("Form entered correctly");

} else {

$("#firstName").addClass("errorClass");

return false;

}

});

}); //end document ready function

< /script >

< /body >

< /html >

Zwróć uwagę, że kod JavaScript jest zawinięty w funkcję .ready (). Chociaż nie jest to absolutnie konieczne, chciałem zilustrować, jak można używać .ready (). Należy również zauważyć, że podczas przesyłania formularza kod używa funkcji .removeClass () w celu usunięcia klasy errorClass z elementu formularza. W praktyce możesz przenieść to wywołanie .removeClass () do dowolnej liczby innych miejsc w kodzie, w tym do wywołania funkcji main .ready () lub do funkcji .submit (). Obsługa błędów, jQuery i JavaScript obejmuje znacznie więcej, niż można pokazać w jednym krótkim rozdziale, ale mając tę podstawową wiedzę w ręku, możesz teraz zbadać, dlaczego tag HTML5 < canvas > jest tak ważny.


Powrót

11.09.2020

Korzystanie z tagu < canvas > HTML5

Nowością w HTML5 jest tag o nazwie < canvas >, który zapewnia przestrzeń, w której można rysować grafikę, uruchamiać animacje i wiele więcej na stronie internetowej. Jednak sam tag < canvas > nic nie robi. Zamiast tego tag < canvas > polega na JavaScript, aby narysować grafikę, którą może zawierać. Widzisz więc, że to nie przypadek, że spędziłeś tyle czasu na nauce języka JavaScript w tym rozdziale! Tag < canvas > jest jednym z najłatwiejszych tagów w HTML5. Po prostu mówisz przeglądarce, jak duży ma być obszar roboczy, a ona odpowiednio tworzy kontener. Na przykład poniższy przykład przedstawia < canvas > o wymiarach 250 × 250 pikseli:

< canvas width = "250" height = "250" id = "myCanvas" > < /canvas >

Niestety, w chwili pisania tego tekstu wiele przeglądarek nie obsługuje elementu < canvas >; w związku z tym musisz zapewnić alternatywną zawartość dla przeglądarek, które nie są jeszcze gotowe na grafikę opartą na kanwie. Możesz udostępnić tę alternatywną treść, umieszczając ją między otwierającym i zamykającym tagiem < canvas >, na przykład:

< canvas width = "250" height = "250" id = "myCanvas" >

< p > Miejsce na alternatywną treść < /p >

< /canvas >

Przeglądarki, które nie rozumieją znacznika < canvas >, zignorują go i wyświetlą zawartość znajdującego się w nim kodu HTML; w tym przypadku tag < p >. Używasz JavaScript do rysowania na płótnie, więc na szczęście właśnie nauczyłeś się tak dużo o języku! Aby rysować na płótnie, musisz określić współrzędne, od których chcesz zacząć. Współrzędne na płótnie używają systemu siatki. W siatce pokazanej powyżej współrzędne 0,0 reprezentują najwyższą i lewą komórkę w siatce, a liczby rosną w miarę przesuwania się w prawo iw dół. Same komórki reprezentują piksele na ekranie. Punkty wzdłuż osi poziomej siatki nazywane są współrzędnymi x, a punkty wzdłuż osi pionowej nazywane są współrzędnymi y. Rysujesz za pomocą kombinacji linii i prymitywnych kształtów. Na przykład, możesz tworzyć prostokąty o różnych formach, używając funkcji takich jak fillRect do rysowania wypełnionego prostokąta i strokeRect do rysowania konturowego prostokąta. Obie te funkcje akceptują współrzędne x i y, aby określić, gdzie powinny rozpocząć rysowanie, wraz z szerokością i specyfikacją wysokości. Kod do rysowania prostokąta o wymiarach 50 × 100 pikseli rozpoczynający się od współrzędnej x 10 i współrzędnej y 20 wygląda następująco:

fillRect (10,20,50,100)

Zanim jednak zaczniesz rysować, potrzebujesz płótna. Dodatkowo musisz również wywołać funkcję getContext () dla kanwy. Przykłady, jak to zrobić, zobaczysz w poniższym przykładzie kodu, który pokazuje całą stronę, na której zastosowano tag < canvas > do narysowania tego prostokąta.

Ważne: Poniższe przykłady wymagają użycia biblioteki jQuery. Przykłady pokazują użycie wersji jQuery opartej na CDN. Możesz również użyć wersji, którą pobrałeś na podstawie poprzednich przykładów w tym rozdziale. Jeśli używasz lokalnej wersji jQuery, umieść ją w tym samym folderze, co te przykłady kodu.

< !DOCTYPE HTML >

< html >

< head >

< meta http-equiv="Content-Type" content="text/html; charset=utf-8" >

< title >Canvas< /title >

< script type="text/javascript"

src=http://code.jquery.com/jquery-1.4.4.min.js >< /script >

< /head >

< body >

< canvas width="250" height="250" id="myCanvas" >

< p >Alternate content goes here< /p >

< /canvas >

< script type="text/javascript" >

$(document).ready(function() {

var canvas = document.getElementById("myCanvas");

if (canvas.getContext) {

var canvasContext = canvas.getContext("2d");

canvasContext.fillStyle = "blue";

canvasContext.fillRect(10,20,50,100);

} else {

// You could do something else here

// because the browser doesn't support

// the canvas element.

}

});

< /script >

< /body >

< /html >

Ten kod tworzy element < canvas > (i zapewnia alternatywną zawartość dla przeglądarek innych niż HTML5). Większość strony składa się z kodu JavaScript służącego do rysowania prostokąta, jak pokazano poniżej:

var canvas = document.getElementById("myCanvas");

if (canvas.getContext) {

var canvasContext = canvas.getContext("2d");

canvasContext.fillStyle = "blue";

canvasContext.fillRect(10,20,50,100);

} else {

// You could do something else here

// because the browser doesn't support

// the canvas element.

}

Ten kod pobiera element o identyfikatorze myCanvas i umieszcza go w zmiennej JavaScript o nazwie canvas. Następnie kod sprawdza, czy funkcja getContext() jest dostępna. Jeśli ta funkcja nie jest dostępna, oznacza to, że przeglądarka prawie na pewno nie obsługuje elementu < canvas >. Dlatego próba użycia metody getContext() spowodowałaby błąd JavaScript. Jeśli jednak funkcja getContext() jest dostępna, kod jest kontynuowany przez wywołanie metody getContext (), ustawienie parametru fillStyle na niebieski i narysowanie prostokąta. Wyświetlenie tej strony w przeglądarce kompatybilnej z < canvas >, takiej jak Mozilla Firefox, powoduje wyświetlenie strony z niebieskim prostokątem. Wyświetlenie strony w przeglądarce, która nie obsługuje < canvas >, powoduje wyświetlenie alternatywnej zawartości. Oto kolejny przykład. Ten przykład dynamicznie zmienia rozmiar prostokąta za pomocą JavaScript, na podstawie miejsca kliknięcia w obszarze roboczym:

var canvas = document.getElementById("myCanvas");

if (canvas.getContext) {

var canvasContext = canvas.getContext("2d");

canvasContext.fillStyle = "blue";

canvasContext.fillRect(0,0,50,100);

$("#myCanvas").click(function(f) {

var x = f.pageX - this.offsetLeft;

var y = f.pageY - this.offsetTop;

canvasContext.clearRect(0,0,250,250);

canvasContext.fillRect(0,0,x,y)

});

} else {

// You could do something else here

// because the browser doesn't support

// the canvas element.

}

Ten przykład dodaje funkcję .click() dzięki jQuery. Funkcja .click() sprawdza, gdzie nastąpiło kliknięcie myszą w elemencie canvas. Następnie czyści płótno i rysuje nowy prostokąt w miejscu kliknięcia myszą. Ten przykład zaczyna pokazywać interaktywność, która jest możliwa dzięki elementowi canvas. Na koniec mam zabawny przykład, który obiecałem. Opierając się na poprzednim przykładzie, kod pokazany tutaj tworzy większą kanwę na stronie, a następnie buduje kilka bloków na stronie. Po kliknięciu każdego bloku kod usuwa ten blok. Załaduj ten przykład do przeglądarki kompatybilnej z płótnem (lub uruchom go z Javascript02.html znajdującego się w folderze _Solutions w tym rozdziale) i zobacz, jak szybko możesz usunąć wszystkie bloki!

Ważne : Jeśli przeskoczyłeś do zabawnego przykładu, będziesz musiał użyć biblioteki jQuery w przykładzie pokazanym tutaj, który korzysta z jQuery opartego na CDN.

< !DOCTYPE HTML >

< html >

< head >

< meta http-equiv="Content-Type" content="text/html; charset=utf-8" >

< title >Canvas Block< /title >

< script type="text/javascript" src=http://code.jquery.com/jquery-1.4.4.min.js >< /script >

< /head >

< body >

< canvas width="400" height="400" id="myCanvas" >

< p >Alternate content goes here< /p >

< /canvas >

< script type="text/javascript" >

$(document).ready(function() {

var canvas = document.getElementById("myCanvas");

if (canvas.getContext) {

var canvasContext = canvas.getContext("2d");

canvasContext.fillStyle = "blue";

var numBlocks = 4;

var canWidth = $("#myCanvas").attr("width");

var canHeight = $("#myCanvas").attr("height");

var blockWidth = (canWidth/numBlocks) - 2;

var blockHeight = (canHeight/numBlocks) - 2;

var offsetX = 0;

var offsetY = 0;

var colCount = 0;

var numTotal = numBlocks * numBlocks;

for (i = 0; i < numTotal; i++) {

canvasContext.fillRect(offsetX,offsetY,

blockWidth,blockHeight);

offsetX = offsetX + blockWidth + 2;

colCount++;

if (colCount == numBlocks) {

colCount = 0;

offsetY = offsetY + blockHeight + 2;

offsetX = 0;

}

}

$("#myCanvas").click(function(f) {

var x = f.pageX - this.offsetLeft;

var y = f.pageY - this.offsetTop;

var xBlock = Math.floor((x / blockWidth));

var yBlock = Math.floor((y / blockHeight));

var xSpan = 0, ySpan = 0;

if (xBlock > 0) {

xSpan = xBlock * 2;

}

if (yBlock > 0) {

ySpan = yBlock * 2;

}

var xPos = (blockWidth * xBlock) + xSpan;

var yPos = (blockHeight * yBlock) + ySpan;

canvasContext.clearRect(xPos,yPos,blockWidth,

blockHeight);

});

} else {

// You could do something else here

// because the browser doesn't support

// the canvas element.

}

});

< /script >

< /body >

< /html >

Jeśli znudzi Ci się siatka 4 na 4, zmień liczbę bloków, zmieniając tę linię w kodzie w następujący sposób:

var numBlocks = 4;

Kod w przykładzie dynamicznie zmieni siatkę, aby pasowała do liczby bloków określonej przez ustawienie zmiennej numBlocks. Chociaż ten przykład wykorzystuje kilka elementów JavaScript, które wykraczają poza zakres tej książki, jest to dobre wprowadzenie do interaktywności możliwej nawet w przypadku podstawowej aplikacji Canvas. Popularność i użycie elementu < canvas > będzie rosło w ciągu najbliższych kilku lat, ale minie trochę czasu, zanim wszystkie przeglądarki będą go obsługiwać. Na przykład, chociaż Internet Explorer 9 będzie obsługiwał element canvas, starsze wersje Internet Explorera będą działać przez wiele lat. Jeśli jednak chcesz dowiedzieć się więcej o elemencie < canvas >, w tym zobaczyć dodatkowe (i znacznie bardziej w pełni funkcjonalne) przykłady oraz samouczek, odwiedź stronę https://developer.mozilla.org/en/HTML/Canvas.


Powrót

12.09.2020

Dołączanie treści zewnętrznych do stron internetowych

HTML5 wprowadził tag < eventsource >, który umożliwia wypychanie zawartości serwera zewnętrznego na stronę internetową. Model ten nazywany jest "wypychaniem" w przeciwieństwie do tradycyjnego modelu "ściągania" używanego w sieci WWW, w którym przeglądarka internetowa zawsze żąda informacji z serwera. Podobnie jak w przypadku elementu < canvas >, w chwili obecnej pisanie tagu < eventsource > nie jest szeroko obsługiwane w przeglądarkach internetowych; w związku z tym ma ograniczone zastosowanie w praktycznym programowaniu WWW, dopóki nie pojawią się i nie zostaną powszechnie przyjęte nowe przeglądarki. Więcej informacji na temat < eventsource > można znaleźć pod adresem http://www.whatwg.org/specs/web-apps/current-work/.

Inną metodą dołączania danych zewnętrznych (w tym przypadku multimediów) jest tag < embed >. W przeciwieństwie do < eventsource > tag < embed > ma szeroką obsługę w różnych przeglądarkach. Mimo że element < embed > nie został sformalizowany w specyfikacji HTML aż do wersji 5, ludzie używali tego tagu od lat ze względu na jego zgodność z różnymi przeglądarkami. Znacznik < embed > jest często używany do wstawiania elementów, takich jak Flash lub dźwięk w tle na stronie internetowej. Znacznik < embed > używa kilku atrybutów, takich jak src, aby zdefiniować zasób do osadzenia, wpisz tekst, aby zdefiniować typ osadzanej treści, oraz wysokość i szerokość, aby ustawić odpowiednio wysokość i szerokość elementu. Użycie < embed > do osadzenia pliku MP3 jest tak proste, jak to:

< embed src = "myfile.mp3" > < /embed >

Podobnie jak w przypadku umieszczania jakichkolwiek multimediów lub innych obiektów na stronie, odtwarzanie zależy od klienta. Chociaż moja przeglądarka obsługuje odtwarzanie pliku audio MP3, nie ma gwarancji, że inny użytkownik będzie mógł to zrobić. Dlatego zalecam używanie tylko wtedy, gdy jest to absolutnie konieczne.


Powrót

13.09.2020

Kluczowe punkty

•  JavaScript jest ważnym językiem w sieci i zapewnia wiele elementów behawioralnych w witrynach internetowych.

•  JavaScript można umieścić na dowolnej stronie internetowej i ma on określoną składnię umożliwiającą dostęp do elementu Canvas na stronie.

•  jQuery to biblioteka JavaScript, która umożliwia szybkie tworzenie wcześniej trudnych lub czasochłonnych zadań JavaScript.

•  Element Canvas został wprowadzony w HTML5 i udostępnia obszar dla zaawansowanej grafiki i animacji. Element Canvas programuje się za pomocą JavaScript.

•  Istnieją inne sposoby umieszczania zawartości zewnętrznej na stronach internetowych, w tym nowy tag < eventsource > wprowadzony w HTML5, a także tag < embed >.


Powrót