Stwórz sobie wymarzonego Firefoksa

Zwróćmy uwagę na zapis:

xmlhttp.open("GET", location.href+"ftp",true);

Użycie wartości location.href , zawierającej aktualny adres witryny, powoduje, że nasz skrypt będzie działać zarówno na stronie www.kinodomowe.idg.pl, jak i kinodomowe.idg.pl.

Funkcja obsługująca zdarzenie xmlhttp.onreadystatechange wstawia odpowiedź otrzymaną z zapytania do zmiennej s, którą przypisujemy zawartości naszego dodatkowego pola na stronie. Strony w domenie kinodomowe.idg.pl publikowane są z użyciem kodowania ISO 8859 2, dlatego kodowanie trzeba w dość brutalny sposób wymusić na zapytaniu:

xmlhttp.overrideMimeType("text/html; charset=ISO-8859-2");

Zwracanie wyniku zapytania zakodowanego jako UTF-8 jest typowe dla XMLHttpRequest. Jeśli nie zmienimy kodowania ręcznie, w dodatkowym polu na stronie pojawią się śmieci.

Stwórz sobie wymarzonego Firefoksa

Zmodyfikowany skrypt, przetwarzający pobraną z użyciem XMLHttpRequest stronę i dodający zewnętrzne arkusze stylów CSS, wyświetla całkiem zgrabny panel z listą nowych programów.

Tak przygotowany skrypt działa, ale wyświetla w dodatkowym polu całą zawartość strony kinodomowe.idg.pl/ftp. Należy więc z całej odpowiedzi zwróconej przez XMLHttpRequest wydłubać tylko interesującą nas ramkę z listą programów. Rzut oka na kod strony kinodomowe.idg.pl/ftp pozwala stwierdzić, że lista programów znajduje się pomiędzy ciągami znaków Ostatnio dodane a . Wykorzystamy ten fakt i z całej odpowiedzi wybierzemy tylko kod HTML pomiędzy tymi dwoma ciągami znaków.

var s = xmlhttp.responseText;   
s = s.substring(s.indexOf('Ostatnio dodane')-164,s.length); 
s = s.substring(0,s.indexOf('<br>'));
ftpbox.innerHTML = s;

Tajemnicza wartość 164 pojawiająca się w kodziesłuży do tego by wyciąć odpowiednio duży fragment pobranej strony - całą elegancką tabelę z listą programów. Skrypt powinien już działać poprawnie, oczywiście można go wzbogacić (np. o rodzaj nagłówka) i dopasować wygląd do własnych preferencji czy rozbudować, wyświetlając w dodatkowym polu na stronie kinodomowe.idg.pl kolejne elementy.

Stwórz sobie wymarzonego Firefoksa

Skrypty można dowolnie rozbudowywać, tutaj widać skrypt dla strony pcworld.pl rozbudowany o wiadomości z serwisu GameStar.