$.Deferred & Promise tutorial – zarządzanie asynchronicznymi wywołaniami w jQuery

jQuery oferuje bardzo dobry mechanizm do zarządzania asynchronicznymi wywołaniami (np. AJAX), który pozwala uchronić nas przed pisanie tzw. spaghetti code. API do obsługi składa się zaledwie z kilku metod, ale dzięki przemyślanej konstrukcji niesie ze sobą bardzo duże możliwości.

Czytaj całość...

Opis i różnica między atakami XSS i CSRF (Cross-site scripting i Cross-site request forgery)

Ataki XSS i CSRF to obok ataku typu SQL Injection, jedne z najbardziej znanych i popularnych ataków na strony WWW. Skuteczność ich działania jest praktycznie 100%, jeżeli chodzi o strony WWW napisane przez amatorów, którzy nie znają się na zabezpieczaniu stron przed atakami, a nie korzystają z Frameworków, które automatycznie takie zabezpieczenia implementują.

Czytaj całość...

Ample i XUL – Programowanie GUI w języku XUL za pomocą darmowego frameworku JavaScript o nazwie Ample

Ample to darmowy i otwarty framework oparty o język JavaScript. Ma bardzo wiele ciekawych możliwości niedostępnych w innych tego typu projektach. Jedną z tych funkcjonalności jest wsparcie dla języka XUL. XUL to zgodny z XML język to opisu interface’u użytkownika stworzony przez firmę Mozilla, który jednak nie zdobył, przynajmniej na razie, większej popularności.

Poniżej zaprezentuje jak umieścić na stronię przykładowy komponent za pomocą XUL. Szerszy opis wszystkim dostępnych komponentów XUL można znaleźć na stronie projektu, w dziele Reference dotyczącym XUL (link: tutaj) lub po ściągnięciu framework’u w folderze z przykładami (./Ample/examples/languages/xul).

Czytaj całość...

HTML5 Tutorial, czyli kurs HTML w wersji 5 ? cz. 2: getElementsByClassName

W poprzedniej części kursu (cz. 1: classList API) opisywałem nowe metody HTML5, które służyły do manipulacji tagami HTML pod kątem atrybutu class=”". Idąc za ciosem, standard HTML5 wprowadza również nowy selektor (funkcja do wyszukiwania węzłów w DOM) pozwalający wyszukiwać tagi na podstawie przypisanych klas.

Czytaj całość...

HTML5 Tutorial, czyli kurs HTML w wersji 5 – cz. 1: classList API

Do standardu JavaScript w HTML5 została dodana funkcjonalność, która już dawno była zaimplementowana w prawie wszystkich frameworkach i podobnych bibliotekach JavaScript. Chodzi o zestaw kilku funkcji wchodzących w skład tzw. classList API.

Rozchodzi się tu o to, że do wszystkich węzłów w DOM (innymi słowy: wszystkich elementów HTML) został dodany obiekt classList, który udostępnia mechanizmy do dodawania, usuwania oraz przełączania klas CSS na danym węźle (elemencie).

Czytaj całość...

Wyrażenia regularne w JQuery – JQuery RegEx (RegExp) Selector

Zachwalać zalet JQuery chyba nie trzeba. Stosując właśnie tą bibliotekę można z czystym sumieniem powiedzieć, że postępuje się z mottem zamieszczonym na oficjalnej stronie biblioteki – Write Less, Do More.

Jednak, co dziwne, można z niej wydusić jeszcze więcej – nawet dużo, dużo więcej. Jakim sposobem? Ano, poprzez ‘nauczenie’ biblioteki posługiwaniem się wyrażeniami regularnymi.

Czytaj całość...

JSONP (cross-domain AJAX) – zdalny AJAX spoza domeny

Zwykły AJAX operujący na obiekcie klasy XMLHttpRequest umożliwia połączenie się jedynie z zasobami znajdującymi się w obrębie tej samej domeny. Z tego właśnie powodu, poniższy skrypt nie zadziała.

//Wywołanie na domenie: example1.pl
http = new XMLHttpRequest();
http.open('GET', 'http://example2.pl/index.html', true);

Powodem takiego zachowania są kwestie bezpieczentwa. Istnieje jednak kilka metod na obejście tego zabezpieczenia. Jedną z nich jest właśnie opisywany w tym artykule JSONP. W tej metodzie wykorzystuje się fakt, że przeglądarka może z dowolnej domeny pobrać kod JavaScript. Pokazuje to poniższy przykład.

Czytaj całość...

Kurs (tutorial) JQueryUI: Ruchome (draggable) okno w JavaScript

JQuery oraz JQueryUI to napisane w języku JavaScript, niezwykle przyjazne programiście oraz wspomagające tworzenie stron internetowych biblioteki. JQueryUI służy do tworzenia zaawansowanych efektów graficznych z wykorzystaniem JavaScript i AJAX. W niniejszym tekście pokaże, jak przy pomocy kilku kliknięć stworzyć jeden z takich efektów, a mianowicie – przesuwane kursorem okienko.

Czytaj całość...