Archive for June, 2009

Zawierającą rozwijalne menu, wykorzystując do

Zawierającą rozwijalne menu, wykorzystując do tego możliwości, jakie daje DHTML. Gdy użytkownik kliknie obrazek umieszczony obok opcji, menu się rozwinie, prezentując kolejne opcje. Gdy użytkownik kliknie opcję menu, odpowiadająca jej zawartość umieszczona w znaczniku div zostanie wyświetlona w głównym obszarze okna przeglądarki. Zauważ, iż tworząc strukturę tej strony, nie użyjesz ani tabel (znaczników table), ani ramek (znaczników frame). Zamiast nich wykorzystasz bezwzględnie umiejscowione znaczniki div i będziesz określał, czy są one widzialne czy nie. W tym ćwiczeniu posłużysz się także stylami zdefiniowanymi w nagłówku dokumentu przy użyciu znacznika style.
W pierwszej kolejności


By Progs in pierwsza  .::. (Add your comment)

Tworzone strony DHTML będą mogły

Tworzone strony DHTML będą mogły poprawnie działać na różnych przeglądarkach, co można osiągnąć poprzez sprawdzenie wersji przeglądarki oraz wykorzystaniu tych informacji w innych częściach skryptu,
pokazanie jednej metody użycia DHTML,
przedstawienia praktycznych przykładów wykorzystania możliwości DHTML. Dzięki temu będziesz mógł zobaczyć sposób praktycznego wykorzystania podanych pojęć i wykorzystać je jako podstawę do dalszej nauki.
Ćwiczenie 21.1: Tworzenie rozwijalnych menu
Do wykonania
W pierwszym ćwiczeniu będziesz miał za zadanie stworzyć



Stron WWW, tworzenie rozwijalnych menu

Stron WWW, tworzenie rozwijalnych menu oraz inne techniki tworzenia kodu DHTML działającego w różnych przeglądarkach.
Ogólnie rzecz biorąc, ćwiczenia te mają na celu zaprezentowanie sposobów wykonywania poniższych zadań:
połączenia HTML-a, kaskadowych arkuszy stylów oraz skryptów JavaScript w celu uzyskania przydatnych efektów DHTML,
zapewnienia,



Href=”javascript:void(0)” onmouseover=”alertstyle()”>Odwołanie do sytlów

Href=”javascript:void(0)” onmouseover=”alertstyle()”>Odwołanie do sytlów

Wyniki wykonania tej strony zostały przedstawione na rysunku 21.4. Zwróć uwagę, iż wskaźnik myszy został umieszczony na łączu wyświetlającym styl.

Rysunek 21.4
Użycie funkcji tworzącej odwołania do obiektów działające w różnych przeglądarkach

Nie chcę wprowadzać niepotrzebnego zamieszania, więc przejdę już do dwóch ćwiczeń. Zaprezentują one sposób wykrywania rodzaju przeglądarki, podmieniania obrazków, ukrywania i wyświetlania


By Progs in C++  .::. (Add your comment)

+ “.div01″ + styleRef + “.top”)); }

+ “.div01″ + styleRef + “.top”));
}

function alertobject() {
alert(eval(”document” + objRef + “.div02.id”));
}

// koniec ukrywania skryptu –>

#div01 { position: absolute; }
#div02 { position: absolute; }


By Progs in html  .::. (Add your comment)

(agt.indexOf(’opera’)==-1) && (agt.indexOf(’webtv’)==-1)); var is_nav4up = (is_nav

(agt.indexOf(’opera’)==-1) &&
(agt.indexOf(’webtv’)==-1));
var is_nav4up = (is_nav && (is_major >= 4));
var is_ie = (agt.indexOf(”msie”) != -1);
var is_ie4up = (is_ie && (is_major >= 4));

// Konwencje odwołań do obiektów i stylów
// w Navigatorze and IE. Użyj zmiennej objRef
// przy odwoływaniu się do obiektów oraz obu zmiennych
// przy odwoływaniu się do stylów.
var objRef, styleRef;
if (is_nav4up == true) {
objRef = “”
styleRef = “”
}
if (is_ie4up == true) {
objRef = “.all”
styleRef = “.style”
}

function alertstyle() {
alert(eval(”document” +


By Progs in pierwsza  .::. (Add your comment)

<!– ukrywamy skrypt //

<!– ukrywamy skrypt

// Uproszczona wersja wykrywania przeglądarki
// wykrywająca Navigatora 4+ oraz IE 4+.
// Użyj zmiennych is_nav4up oraz is_ie4up
// w innych częściach skryptu
var agt = navigator.userAgent.toLowerCase();
var is_major = parseInt(navigator.appVersion);
var is_minor = parseFloat(navigator.appVersion);
var is_nav = ((agt.indexOf(’mozilla’)!=-1) &&
(agt.indexOf(’spoofer’)==-1) &&
(agt.indexOf(’compatible’) == -1) &&


By Progs in pierwsza  .::. (Add your comment)

I wywołują funkcję alert. Zauważ, iż wartością

I wywołują funkcję alert. Zauważ, iż wartością atrybutu href obu tych hiperpołączeń jest javascript:void(0). To najprostsza metoda zmuszenia hiperpołączenia do wykonania funkcji bez podawania jakiejkolwiek strony docelowej.
WPISZ


By Progs in C++  .::. (Add your comment)

Do stylów. var objRef, styleRef; if (is_nav4up

Do stylów.
var objRef, styleRef;
if (is_nav4up == true) {
objRef = “”
styleRef = “”
}
if (is_ie4up == true) {
objRef = “.all”
styleRef = “.style”
}

Ten sposób działania został wykorzystany na stronie WWW, przedstawionej w następnym przykładzie. Po określeniu typu przeglądarki, umieściłam w niej kod tworzący odwołanie do odpowiedniego modelu obiektów. Następnie zdefiniowane zostały dwie funkcje, tworzące okienka informacyjne wyświetlające poprawne odwołania DOM dla Netscape Navigator i Internet Explorera. Wewnątrz znacznika body przedstawionej strony WWW umieszczone zostały dwa znaczniki div, określające położenie dwóch hiperpołączeń tekstowych. Hiperpołączenia te przechwytują zdarzenia


By Progs in html  .::. (Add your comment)

Przypadku Netscape Navigatora zawierają wartości puste a

Przypadku Netscape Navigatora zawierają wartości puste a w przypadku Internet Explorera wartości .all oraz .style. Po określeniu typu przeglądarki, skrypt określa poprawne wartości obu tych zmiennych:

// Konwencje odwołań do obiektów i stylów s
// w Navigatorze and IE. Użyj zmiennej objRef
// przy odwoływaniu się do obiektów oraz obu zmiennych
// przy odwoływaniu



DOM działających w wielu przeglądarkach Kolejnym narzędziem,

DOM działających w wielu przeglądarkach
Kolejnym narzędziem, które warto mieć, jest sposób odwoływania się do odpowiedniego modelu obiektów dokumentu, w zależności od przeglądarki, w której strona została wyświetlona. Zamiast stosowania niezależnych odwołań do każdego z istniejących modeli obiektów dokumentu, można stworzyć procedurę kreującą poprawne odwołanie w zależności od wykorzystywanej przeglądarki. Właśnie to zadanie realizuje przedstawiony poniżej fragment kodu. Są w nim wykorzystywane dwie zmienne — objRef oraz styleRef — które


By Progs in html  .::. (Add your comment)

(agt.indexOf(’opera’)==-1) && (agt.indexOf(’webtv’)==-1)); var is_nav4up = (is_nav

(agt.indexOf(’opera’)==-1) &&
(agt.indexOf(’webtv’)==-1));
var is_nav4up = (is_nav && (is_major >= 4));
var is_ie = (agt.indexOf(”msie”) != -1);
var is_ie4up = (is_ie && (is_major >= 4));

// Funkcja wyświetlająca wersję przeglądarki
function doSniff() {
var sniff
if (is_nav4up == true) {
sniff = “Netscape Navigator 4+” }
if (is_ie4up == true) {
sniff = “Microsoft Internet Explorer 4+” }
alert(sniff);
}

Na rysunku 21.3 przedstawiłam powyższą stronę wyświetloną w przeglądarce Internet Explorer 5.5.

Rysunek 21.3
Określanie typu i wersji przeglądarki

Tworzenie


By Progs in C++  .::. (Add your comment)

Content=”text/javascript” /> <!– Hide

Content=”text/javascript” />

<!– Hide JavaScript

// Uproszczona wersja wykrywania przeglądarki
// wykrywająca Navigatora 4+ oraz IE 4+.
// Użyj zmiennych is_nav4up oraz is_ie4up
// w innych częściach skryptu
var agt = navigator.userAgent.toLowerCase();
var is_major = parseInt(navigator.appVersion);
var is_minor = parseFloat(navigator.appVersion);
var is_nav = ((agt.indexOf(’mozilla’)!=-1) &&
(agt.indexOf(’spoofer’)==-1) &&
(agt.indexOf(’compatible’) == -1) &&


By Progs in kodowanie  .::. (Add your comment)

Wywoływana jest funkcja doSniff. Funkcja ta tworzy

Wywoływana jest funkcja doSniff. Funkcja ta tworzy zmienną sniff i zapisuje w niej łańcuch znaków, którego postać zależy od typu przeglądarki, następnie wartość tej zmiennej jest wyświetlana w okienku dialogowym.
WPISZ

<meta



Wartości odpowiednich zmiennych, które będziesz mógł wykorzystać

Wartości odpowiednich zmiennych, które będziesz mógł wykorzystać w innych fragmentach skryptu. Funkcja ta nie wykonuje żadnych innych czynności.
Przedstawiony poniżej przykład prezentuje praktyczne wykorzystanie kodu określającego typ i wersję przeglądarki. Wewnątrz znacznika body strony



(agt.indexOf(’spoofera’)==-1) && (agt.indexOf(’compatible’)==-1) && (agt.indexOf(’opera’)==-1) && (agt.indexOf(’webtv’)==-1))

(agt.indexOf(’spoofera’)==-1) &&
(agt.indexOf(’compatible’)==-1) &&
(agt.indexOf(’opera’)==-1) &&
(agt.indexOf(’webtv’)==-1))
var is_nav4up = (is_nav && (is_major >= 4));
var is_ie = (agt.indexOf(”msie”) != -1);
var is_ie4up = (is_ie && (is_major >= 4));

Aby sprawdzić, czy przeglądarką, w której strona została wyświetlona jest Netscape Navigator lub Internet Explorer w wersji 4 lub wyższej, należy użyć poniższego fragmentu kodu:

if (is_nav4up) { zrób coś … }
if (is_ie4up) { zrób coś … }

Jeszcze nie raz zobaczysz te zmienne przy tworzeniu skryptów. Jedynym zadaniem funkcji określającej typ i wersję przeglądarki jest


By Progs in html  .::. (Add your comment)

Oraz wersję przeglądarki. W szczególności będą nas

Oraz wersję przeglądarki. W szczególności będą nas interesowały dwie zmienne — is_nav4up oraz is_ie4up — zawierające wartości logiczne true oraz false.

// Uproszczona wersja wykrywania przeglądarki
// wykrywająca Navigatora 4+ oraz IE 4+.
// Użyj zmiennych is_nav4up oraz is_ie4up
// w innych częściach skryptu
var agt = navigator.userAgent.toLowerCase();
var is_major = parseInt(navigator.appVersion);
var is_minor = parseFloat(navigator.appVersion);
var is_nav = ((agt.indexOf(’mozilla’)!=-1) &&


By Progs in html  .::. (Add your comment)


You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.