WEB-AREA.org - serwis webmasterów
     Jak szukać?

Konkurs    Załóż subskrypcję    Katalog    Forum    BeginnerZone


MENU
KURSY
  - HTML
  - CSS
  - Java
  - PHP
  - CGI
  - ASP
  - WML
  - XML
  - SGML
SKRYPTY
  - JavaScript
  - PHP
  - CGI
INNE
  - Szablony
  - Forum
  - Webmasterska lista
  - Katalog
  - BeginnerZone
  - Konkurs
SUBSKRYPCJA
  - Załóż
  - Administracja
REDAKCJA
  - Skład
  - Współpraca
  - Reklama


ZOBACZ JESZCZE

Zadania i zdarzenia

Kiedy chcemy wrócić do poprzedniej karty, którą przeglądaliśmy w naszej komórce, przydałby nam się przycisk "Wstecz", niestety w telefonach zazwyczaj nie ma takiego przycisku. Przyciskami służącymi do nawigacji są dwa klawisze znajdujące się bezpośrednio poniżej wyświetlacza- po lewej i po prawej stronie. Ten po prawej służy zwykle do przeskakiwania "wstecz", a ten po lewej służy do przejścia do następnej karty. Jak stworzyć takie "menu nawigacyjne" ? Otóż musimy wpisać odpowiedni kod, który powie przeglądarce w aparacie, że to właśnie naciśnięcie prawego przycisku przez użytkownika powinno spowodować powrót do ostatnio oglądanego dokumentu. Tak aby wiedziała ona, iż po zajściu zdarzenia, czyli naciśnięciu klawisza nawigacyjnego, ma być wykonane zadanie, czyli przekierowanie do innej karty wml. Proste prawda ?

      Na tym właśnie polega cały mechanizm zdarzeń i zadań, które są w wml nowością. Nie jest ich jednak dużo- w wml`u występują następujące zdarzenia;

  • DO- czyli naciśnięcie przez użytkownika jakiegoś klawisza (choć wcale nie musi to być klawisz nawigacyjny)
  • ONTIMER- po wczytaniu karty upłynęła określona ilość czasu
  • ONENTERBACKWARD- kiedy wczytujemy ostatnio oglądaną kartę
  • ONENTERFORWARD- kiedy przechodzimy do jeszcze nie oglądanej karty
      W wyniku wystąpienia powyższych zdarzeń, mogą nastąpić zadania;
  • GO- przekierowanie do innej karty
  • PREV- przekierowanie do ostatnio oglądanej karty
  • NOOP- no operation, to zadanie zaniechania wcześniej zaplanowanych operacji
  • REFRESH- odśwież
<do> Może zacznę od deklaracji funkcji klawiszy nawigacyjnych. Zazwyczaj ustala się, że lewy przycisk to polecenie wyświetlenia następnej karty w dokumencie, a prawy to "wstecz". Pierwszy z nich deklaruje się za pomocą takiego fragmentu kodu:

<do type="accept" label="Dalej">
<go href="#karta2"/>
</do>

gdzie accept to oznaczenie lewego przycisku nawigacyjnego ( prev- to prawy, możemy używać także reset, options, help i delete). Wartość atrybutu label, to oczywiście nic innego jak etykieta, czyli napis określający nazwę przycisku na wyświetlaczu.
Analogicznie, określenie funkcji prawego przycisku nawigacyjnego, będzie wyglądać następująco;

<do type="prev" name="Previous" label="Wstecz">
<go href="#karta1"/>
</do>

W tym przypadku drugą linijkę kodu, możemy zastąpić zadaniem przekierowania do ostatnio oglądanej karty, czyli <prev/>
Bardzo przydatnym znacznikiem wml, przydatnym przy tworzeniu menu nawigacyjnego jest element

<template> </template>

Można za jego pomocą określić funkcje jakiegoś klawisza dla wszystkich kart znajdujących się w dokumencie. Przykładowy kod mógłby wyglądać;

<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">

<wml>
<template>
<do type="prev" name="Previous" label="Wstecz">
<prev/>
</do>
</template>
<card id="karta1" title="Pierwsza karta">
<p>Karta 1 ... <br/>
<do type="accept" label="Dalej">
<go href="#karta2"/>
</do>
</p>
</card>
<card id="karta2" title="Druga karta">
<p>Karta 2 ... <br/>
<do type="accept" label="Dalej">
<go href="#karta3"/>
</do>
</p>
</card>
<card id="karta3" title="Trzecia karta">
<p>Karta 3 ...<br/>
...i ostatnia :-)
</p>
</card>
</wml>
       W powyższym przykładzie specjalnie użyłem emulatora Noki 6110, gdyż Nokia 6150 inaczej interpretuje zdarzenie <do type="accept" label="Dalej">
Dokładniej w lewym rogu ekranu, zamiast wyświetlać napis "Dalej", pojawia się "Options". Dopiero po jego wybraniu, możemy znaleźć nasz "Dalej". Trochę to zamotane, ale pomocne, jeżeli na jednej karcie oprócz menu nawigacyjnego znajdują się jakieś linki. Ilustruje to poniższy przykład;

      Po naciśnięciu "Options" pojawia się menu: możemy albo wybrać "Follow Link", czyli skierować przeglądarkę na kartę wskazaną przez odnośnik, bądź "Dalej", czyli otworzyć następną kartę w dokumencie.

<on timer> Innym, bardzo przydatnym zdarzeniem oprócz do jest ontimer. Używamy go w sposób następujący;

<card id="karta1" ontimer="#karta2">
<timer value="50"/>
<!-- 1 to 1/10 sekundy, wiec 50 to 5 sekund -->
<p>
Za chwile zostanie wczytana inna karta
</p>
</card>
<card id="karta2">
<p>
To jest druga karta, wczytana po uplywie czasu okreslonego w elemencie time.
</p>
</card>


<onenterforward> Zdarzenie to pozwala na określenie, jakie zadania mają zostać wykonane, jeśli ktoś wchodzi na ta kartę, prosto z innej karty. Możemy na przykład natychmiast przekierować go do następnej karty.

<card id="karta1" onenterforward="#karta2">
<p><do type="accept" label="Dalej">
<go href="#karta2"/>
</do></p>
</card>
<card id="karta2"....


<onenterbackward> Tutaj z kolei możemy określić co się będzie działo jeżeli ktoś "wdepnie" na tą kartę wciskając przycisk Wstecz;

<wml>
<template>
<do type="prev" name="Previous" label="Wstecz">
<prev/>
</do>
</template>

<card id="karta1" onenterbackward="#karta3">
<p>Karta numer 1</p>
<p><do type="accept" label="Dalej">
<go href="#karta2"/>
</do></p>
</card>
<card id="karta2">
<p>Karta numer 2</p>
<p><do type="accept" label="Dalej">
<go href="#karta2"/>
</do></p>
</card>
<card id="karta3">
<p>wpadles na ta karte bo nacisnales przycisk Wstecz</p>
</card>
</wml>


LOGIN
Login:
Hasło:

ARTYKULY
 -"Edytory HTML'a"
 -"Publikowanie witryny"
 -"PHP w domu"
 -"Przeszukiwanie stron"
 -"Wprowadzenie do Javy"
 -"Grafika w PHP"

ARTYKULY
  1. PHP - przykładowe skrypty (1491)
  2. Szablony 1 (833)
  3. Kurs PHP (817)

    Łącznie: 24212
stat4u

SPONSOR




All rights reserved by J&J Filipowscy Design & Code