JavaScript  

 

w przykładach                

http://javascript.jest.o.k.pl

Pasek stanu a la DHTML (IE)

Skrypt wyświetlający w pasku stanu opis odsyłacza to nic odkrywczego. Tradycyjne podejście do tego tematu znajdziesz w skrypcie "Pasek stanu". Jednak ten skrypt jest oryginalny ze względu na techniczne rozwiązanie. Zastosowany jest tu DHTML, czyli dynamiczny HTML. Dlatego też skrypt ten działa tylko w Internet Explorerze - jest to jedyna przeglądarka obsługująca DHTML, a dokładniej DOM.

Instrukcja

Skrypt umieszcza się w dokumencie HTML tylko na początku - w nagłówku należy wkleić następujący kod:

<script language="JavaScript" type="text/javascript">                 
<!--                                                                  
// Niniejszy skrypt pochodzi z serwisu "JavaScript w przykladach"     
// Copyright (C) 1999 Maciej Szczepaniak <maciek@wls1.ch.pwr.wroc.pl> 
                                                                      
// Skrypt objety jest licencja GNU General Public License.            
// Koniecznie przeczytaj pelna informacje o licencji pod adresem:     
//     http://javascript.jest.o.k.pl/archiwum.html#l                  
                                                                      
                                                                      
var ev_ok = (typeof(event) == "object");   // dla zgodnosci z NN 5    
if (ev_ok) document.onmouseover = dhtml_status;                       
                                                                      
function dhtml_status()                                               
{                                                                     
   var it = event.srcElement.getAttribute("status");                  
   if (it != null)                                                    
      window.status = it;                                             
   else if (event.srcElement.tagName == "A")                          
      window.status = event.srcElement.href;                          
   else window.status = "";                                           
}                                                                     
                                                                      
//-->                                                                 
</script>                                                             
Uwaga techniczna:

Skrypt ten nie może działać w Netscape'ie 4.x, ponieważ ten nie obsługuje DOM. Internet Explorer również nie obsługuje tego modelu do końca zgodnie ze specyfikacją W3C, jednak nam chodzi tylko o metodę getAttribute. Pomimo tego, że Netscape 5.0, którego rozwojowa wersja jest dostępna pod nazwą Gecko (http://www.mozilla.org), obsługuje DOM nawet lepiej niż MSIE, ten skrypt w nie działa również w tej przeglądarce, a to z powodu braku możliwości sprawdzenia źródła zdarzenia (przynajmniej build M6).

Na tym kończy się kod. Teraz pozostaje tylko w tagach, które mają być opisywane w pasku statusu, dodać atrybut status. Oczywiście, nie znajduje się on w żadnej specyfikacji HTML, będzie on wykorzystywany tylko przez ten skrypt. Przykłady:

<a href="coś" status="To jest naprawdę interesujący odsyłacz!">       
<img src="obrazek.gif" status="Ładny obrazek, nie?">                  
<b status="Trzymasz myszkę nad pogrubionym tekstem">Trele morele</b>  

Jeśli dla danego elementu nie określisz tego atrybutu, pasek stanu pozostanie pusty, chyba, że jest to odsyłacz tesktowy. Wtedy wyświetlony zostanie adres odsyłacza. Jest tylko jedno zastrzeżenie: tekst pojawiający się w pasku statusu trzeba określić w tagu znajdującym się najniżej w strukturze dokmentu. Dlatego, jeśli np. odsyłaczem jest rysunek, atrybut status musi się znaleźć w tagu IMG, a nie A!

[ Powrót na górę ]

Przykład

Spróbuj przesuwać kursorem nad poniższym tekstem:

Zobacz! To działa! ( jeśli masz MSIE... ).

[ Powrót na górę ]

 


Powód niezgodności
strony z HTML 4.0:

Głównym założeniem tego skryptu jest właśnie rozszerzenie składni HTML o nowy atrybut.

© 1998-2000 Maciej Szczepaniak