[< Poprzedni rozdział] [Spis treści] [Następny rozdział >]
3. Dostęp do warstw - unifikacja DOM.
Alladyn pozwala zapomnieć o różnicach w implementacji modelów obiektowych w poszczególnych przeglądarkach. Nie ma potrzeby martwić się o różne sposoby dostępu do warstw w różnych browserach. Document.all, document.layers oraz document.getElementById() zostały zastąpione jednym, zunifikowanym modelem obiektowym.

Dostęp do wszystkich warstw dokumentu realizowany jest w Alladynie poprzez obiekt vlay (virtual layers), który jest tożsamy zarówno ze znanym z IE document.all, jak i Netscape'owskim document.layers. Zamiast więc uzyskiwać dostęp poprzez te obiekty w zależności od wersji przeglądarki, czy też zdobywając referencję do warstwy w inny sposób w przypadku Netscape 6, posiłkujemy się obiektem vlay.

Dostęp do warstw możliwy jest na dwa sposoby:
vlay.nazwawarstwy
lub
vlay['nazwawarstwy']
Obie powyższe metody są równoważne i odpowiadają następującym konstrukcjom w poszczególnych przeglądarkach:
W Internet Explorerze 4 i wyższych:
document.all['nazwawarstwy']
lub
document.all.nazwawarstwy

W Netscape 4.xx:
document.layers['nazwawarstwy']
lub
document.layers.nazwawarstwy

W Netscape 6:
warstwa = document.getElementById("nazwawarstwy")
warstwa
Alladyn, dzięki przebudowie modelu DOM przeglądarki, pozwala na odwoływanie się do jednego modelu - obiektu vlay - niezależnie od używanego browsera.

Metody i właściwości odpowiedzialne za wygląd i pozycjonowanie warstwy, są, podobnie jak w IE oraz NS6, zawarte w podobiekcie style. Jest to model zgodny z zaleceniami W3C. NS4 umieszcza te metody i właściwości bezpośrednio w obiekcie warstwy, co jest kolejną niekonsekwencją w stosunku do rekomendacji W3C. W Alladynie niezależnie od używanej przeglądarki dostęp do typowych właściwości pozycjonujących uzyskujemy w następujący sposób:
vlay.nazwawarstwy.style.top = 100
vlay.nazwawarstwy.style.left = 10
vlay.nazwawarstwy.style.zIndex = 3
Nie używając Alladyna, musielibyśmy się odwoływać w następujący sposób, zależnie od wersji przeglądarki:
W Internet Explorerze 4 i wyższych:
document.all.nazwawarstwy.style.top = 100
document.all.nazwawarstwy.style.left = 10
document.all.nazwawarstwy.style.zIndex = 3

W Netscape 4.xx:
document.layers.nazwawarstwy.top = 100
document.layers.nazwawarstwy.left = 10
document.layers.nazwawarstwy.zIndex = 3

W Netscape 6:
warstwa = document.getElementById("nazwawarstwy")
warstwa.style.top = 100
warstwa.style.left = 10
warstwa.style.zIndex = 3
Właściwość visibility, określająca widoczność obiektu, przyjmować może wartości "hidden" dla ukrycia warstwy oraz "visible" dla jej pokazania. Wartość "inherit" spowoduje dziedziczenie tej właściwości z obiektu nadrzędnego.

[< Poprzedni rozdział] [Spis treści] [Następny rozdział >]