Artykuł ukazał się drukiem w Magazynie INTERNET

Więcej informacji dotyczących sposobów tworzenia stron opartych o DHTML znajdziesz pod adresem:
http://www.szewo.com/dhtml.



go to: main / publications /

Małe jest piękne


Wykorzystywane przy budowie stron różnorakie technologie i języki skryptowe umożliwiają tworzenie w ramach witryny internetowej prawdziwych aplikacji oprogramowanych wieloma liniami kodu. Często zwykła pomysłowość i wykorzystanie w prosty sposób możliwości udostępnianych przez przeglądarki może przynieść ciekawe, a często zaskakujące rezultaty...

Klawisz tabulacji w formularzu

Umieszczane często na stronach WWW formularze mogą zawierać pola TextArea przeznaczone dla wprowadzania przez użytkownika więcej niż jednej linii tekstu. Klawisz tabulacji podczas pracy z formularzami służy do poruszania się po kolejnych elementach za pomoca klawiatury. Nie możliwe jest zatem uzyskanie poprzez zastosowanie klawisza tabulacji wcięcia akapitu przy wprowadzaniu tekstu w polu TextArea. Przeglądarki internetowe mają domyślne działania skojarzone z zastosowaniem klawisza tabulacji - na przykład wciśnięcie klawisza powoduje, iż następny element (link, element formularza) strony staje się aktywny (dostaje fokus), kombinacja CTRL-TAB umożliwia skok do paska adresu przeglądarki, a działanie kombinacji SHIFT-TAB jest przeciwne do klawisza tabulacji.
Przedstawiony niżej skrypt umożliwia programowe rozwiązanie problemu. Pod naciśnięciu kombinacji klawiszy SHIFT-TAB wywoływana jest odpowiednia funkcja wprowadzająca akapit w polu formularza:

<SCRIPT>
//funkcja wykrywajaca wcisniety klawisz
function keyDetect(obiekt) {
 //sprawdzenie czy wcisnieteymi klawiszami 
 //jest kombinacja SHIFT+TAB
 if ((document.all) && (9==event.keyCode) && \
    (event.shiftKey)) {
  // wykorzystanie obiektu selection
  obiekt.selection=document.selection.createRange(); 
  setTimeout("simulate('" + obiekt.id + "')",0)
 }
}

//funkcja nadpisujaca znaczenie kombinacji SHIFT+TAB
function simulate(id) {
 // wpisanie znaku tabulacji w polu formularza
 document.all[id].selection.text=String.fromCharCode(9)
 // uaktywnienie elementu formularza
 document.all[id].focus()
}
</SCRIPT>

W powyższym skrypcie przyjęta kombinację klawiszy można zmieniać modyfikując odpowiedni kod.
Umieszczenie w formularzu na stronie WWW pola TextArea wykorzystującego skrypt może wyglądać następująco:

<form actio.....
.....
<textarea id=element1 onKeyDown="keyDetect(this)">
Zawartosc pola TextArea
.....
</textarea>
</form>

Burza na ekranie

W Magazynie Internet wielokrotnie były już przedstawione sposoby i możliwości manipulowania oknami przeglądarki internetowej. Wiele metod i parametrów obiektu window języka JavaScript umożliwia tworzenie wzbogacanie stron o ciekawe skrypty manipulujące oknami przeglądarki.
Metoda moveBy obiektu window umożliwia względne przesunięcia położenia okna przeglądarki, np. fragment kodu JavaScript:

self.moveBy(10,20)
spowoduje przesunięcie bieżącego okna przeglądarki o 10 punktów w prawo i 20 w dół.
W oparciu o praktycznie tylko tę jedną funkcję JavaScript umieszczoną w zagnieżdżonych pętlach możemy na stronie WWW umieścić skrypt dający zaskakujący rezultat - drganie bieżącego okna przeglądarki. Kod strony z takim skryptem może przedstawiać się następująco:

<html>
<head>
	<title>Demonstracja skryptu Burza</title>
</head>
<body>
<script>
function burza() {
 if (self.moveBy) {
  for (skok = 10; skok > 0; skok--) {
   for (i = 10; i > 0; i--) {
    self.moveBy(0,skok); self.moveBy(skok,0);
    self.moveBy(0,-skok);self.moveBy(-skok,0);
   }
  }
 }
}
</script>
<a href="javascript:burza()">Uruchom skrypt</A>
</body>
</html>

Przedstawione wyżej dwa skrypty dowodzą, że przy konstrukcji ciekawych stron internetowych o końcowym efekcie często przesądza talent i pomysłowość ich twórcy, a nie bogate i często obszerne oprogramowanie. Udostępniane przez producentów co raz to nowe techniki budowy stron i możliwości nowych przeglądarek stanowią potężne narzędzia w rękach webmastera, ale tylko stosowane z odpowiednim rozmysłem udoskonalają końcowy efekt.