Ultima actualizare majora 20 Iulie 2010.
Daca doriti niste exemple practice despre ce puteti face cu W3C DOM, cititi cartea mea ppk on JavaScript, in special capitolul 8.
Aceste tabele de compatibilitate detaliaza suportul pentru W3C CSSOM specificatii de vizualizare in toate browserele moderne.
Aceste proprietati contin dimensiunile intregii ferestre ale browserului.
| Selector | IE 5.5 | IE 6 | IE 7 | IE8 | IE9 pr3 | FF 3.0 | FF 3.5 | FF 3.6 | FF 4b1 | Saf 4.0 Win | Saf 5.0 Win | Chrome 4 | Chrome 5 | Opera 10.10 | Opera 10.53 | Opera 10.60 | Konqueror 4.x | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
innerWidth si innerHeight
Dimensiunile portuluid e vizualizare (interiorul ferestrei browserului)
Pagina de test |
No | da | da | da | da | da | va fi testat | |||||||||||||||||
window.innerWidth window.innerHeight |
||||||||||||||||||||||||
|
outerWidth si outerHeight
Dimensiunile intregii ferestre a browserului(inclusiv bara de task)
Pagina de test |
No | da | da | da | da | da | va fi testat | |||||||||||||||||
window.outerWidth window.outerHeight |
||||||||||||||||||||||||
|
pageXOffset si pageYOffset
Suma pixelilor a paginilor care au fost derulatePagina de test |
No | da | da | da | da | da | va fi testat | |||||||||||||||||
window.pageXOffset window.pageYOffset |
||||||||||||||||||||||||
|
screenX and screenY
Pozitia ferestrei browserului pe ecranPagina de test |
No | da | da | da | da | Incor |
va fi testat | |||||||||||||||||
window.screenX window.screenY
|
||||||||||||||||||||||||
| Selector | IE 5.5 | IE 6 | IE 7 | IE8 | IE9 pr3 | FF 3.0 | FF 3.5 | FF 3.6 | FF 4b1 | Saf 4.0 Win | Saf 5.0 Win | Chrome 4 | Chrome 5 | Opera 10.10 | Opera 10.53 | Opera 10.60 | Konqueror 4.x | |||||||
Aceste proprietati au informatii despre ecran.
| Selector | IE 5.5 | IE 6 | IE 7 | IE8 | IE9 pr3 | FF 3.0 | FF 3.5 | FF 3.6 | FF 4b1 | Saf 4.0 Win | Saf 5.0 Win | Chrome 4 | Chrome 5 | Opera 10.10 | Opera 10.53 | Opera 10.60 | Konqueror 4.x | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
availWidth si availHeight
Latimea si lungimea disponibile pe ecran(cu exceptia barii de task a OS)
Pagina de test |
da | da | da | da | da | va fi testat | ||||||||||||||||||
screen.availWidth screen.availHeight |
||||||||||||||||||||||||
|
colorDepth
Adancimea culorii (in biti) ecranuluiPagina de test |
da | da | Incor |
da | da | da | va fi testat | |||||||||||||||||
screen.colorDepth
|
||||||||||||||||||||||||
|
pixelDepth
In general la fel ca colorDepth
Pagina de test |
No | da | da | Incor |
da | da | da | va fi testat | ||||||||||||||||
screen.pixelDepth Diferenta dintre colorDepth si pixelDepth este importanta doar pe masini Unix(mai vechi?) , unde vechiul X-clients poate permite aplicatiilor sa defineasca propria schema de culori. Daca este cazul, colorDepth se potriveste adancimii culorii aplicatiei iar pixelDepth adancimea culorii monitorului. In toate celelalte cazuri sunt egale. |
||||||||||||||||||||||||
|
width si height
Latimea si lungimea ecranuluiPagina de test |
da | da | da | da | da | va fi testat | ||||||||||||||||||
screen.width screen.height |
||||||||||||||||||||||||
| Selector | IE 5.5 | IE 6 | IE 7 | IE8 | IE9 pr3 | FF 3.0 | FF 3.5 | FF 3.6 | FF 4b1 | Saf 4.0 Win | Saf 5.0 Win | Chrome 4 | Chrome 5 | Opera 10.10 | Opera 10.53 | Opera 10.60 | Konqueror 4.x | |||||||
| Selector | IE 5.5 | IE 6 | IE 7 | IE8 | IE9 pr3 | FF 3.0 | FF 3.5 | FF 3.6 | FF 4b1 | Saf 4.0 Win | Saf 5.0 Win | Chrome 4 | Chrome 5 | Opera 10.10 | Opera 10.53 | Opera 10.60 | Konqueror 4.x | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
elementFromPoint()
Returneaza elementul localizat la coordonatele datePagina de test |
da | da | Incor |
da | da | Incor |
da | va fi testat | ||||||||||||||||
document.elementFromPoint(100,100) De ce coordonate are nevoie
Aceasta metoda este ca un dar pentru scripturile drag and drop. Cand utilizatorul lasa elementul tras, isi da seama care element este localizat la punctul de eliberare si porneste de acolo. Nu sunt necesare alte calcule complicate. Totusi, trebuie sa ascundem temporar elementul tras. Dupa definitie este cel mai ridicat element pe coordonatele cerute, si trebuie sa stim e este sub el. Trucul de baza este:
releaseElement: function(e) { // called onmouseup
var evt = e || window.event;
draggedObject.style.display = 'none';
var receiver = document.elementFromPoint(evt.clientX,evt.clientY);
if (receiver.nodeType == 3) { // Opera
receiver = receiver.parentNode;
}
draggedObject.style.display = '';
Acum |
||||||||||||||||||||||||
|
getBoundingClientRect()
Reda dreptunghiul cuprinzatorPagina de test |
da | aproape | da | da | da | va fi testat | ||||||||||||||||||
x.getBoundingClientRect() Returneaza un obiect care contine IE manevreaza coect, daca acceptam calculul incoect a dreptunghiurilor individuale.
|
||||||||||||||||||||||||
|
getClientRects()
Reda dreptunghiurile unui elementPagina de test |
cu bug-uri | da | aproape | da | da | da | va fi testat | |||||||||||||||||
x.getClientRects() Returneaza o lista cu obiectele Dreptunghiulare care contin Trucul aici este ca, un element inline cum ar fi
|
||||||||||||||||||||||||
|
scrollIntoView()
Face ca un element sa se deruleze in imagine (Nu este parte a specificatiei) Pagina de test |
da | da | da | da | da | va fi testat | ||||||||||||||||||
x.scrollIntoView() Elementul In esenta elementul
| ||||||||||||||||||||||||
| Selector | IE 5.5 | IE 6 | IE 7 | IE8 | IE9 pr3 | FF 3.0 | FF 3.5 | FF 3.6 | FF 4b1 | Saf 4.0 Win | Saf 5.0 Win | Chrome 4 | Chrome 5 | Opera 10.10 | Opera 10.53 | Opera 10.60 | Konqueror 4.x | |||||||
Aceste proprietati ofera informatii despre dimensiunile unui nod Element (tag HTML).
| Selector | IE 5.5 | IE 6 | IE 7 | IE8 | IE9 pr3 | FF 3.0 | FF 3.5 | FF 3.6 | FF 4b1 | Saf 4.0 Win | Saf 5.0 Win | Chrome 4 | Chrome 5 | Opera 10.10 | Opera 10.53 | Opera 10.60 | Konqueror 4.x | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
clientLeft si clientTop
Pozitia coltului superior stanga a campului care il contine relativ fata de coltul superior stang a intregului element(inclusiv ramei)
Pagina de test |
da | da | da | da | da | va fi testat | ||||||||||||||||||
x.clientLeft x.clientTop |
||||||||||||||||||||||||
|
clientWidth si clientHeight
Latimea si inaltimea campului de continut, exceptand rama si bara de derulare, dar incluzand umpluturaPagina de test |
da | da | da | da | da | va fi testat | ||||||||||||||||||
x.clientWidth x.clientHeight |
||||||||||||||||||||||||
|
offsetLeft si offsetTop
Pozitia de sus si cea din stanga a elementului relativ fata de offsetParent.
Pagina de test |
Incor |
da | da | da | da | da | va fi testat | |||||||||||||||||
x.offsetLeft x.offsetTop
|
||||||||||||||||||||||||
| Selector | IE 5.5 | IE 6 | IE 7 | IE8 | IE9 pr3 | FF 3.0 | FF 3.5 | FF 3.6 | FF 4b1 | Saf 4.0 Win | Saf 5.0 Win | Chrome 4 | Chrome 5 | Opera 10.10 | Opera 10.53 | Opera 10.60 | Konqueror 4.x | |||||||
|
offsetParent
Elementul stramos relativ fata de offsetLeft/Top-ul calculat.
Pagina de test |
da | da | da | da | da | va fi testat | ||||||||||||||||||
x.offsetParent Cand calculam
Elementul In IE si Opera
elementele cu |
||||||||||||||||||||||||
|
offsetWidth si offsetHeight
Latimea si inaltimea intregului element, cu tot cu ramaPagina de test |
da | da | da | da | da | va fi testat | ||||||||||||||||||
x.offsetWidth x.offsetHeight |
||||||||||||||||||||||||
|
scrollLeft si scrollTop
Cumulul de pixeli pe care l-a derulat elementul. Citire/scriere.
Pagina de test |
da | da | da | da | da | va fi testat | ||||||||||||||||||
x.scrollLeft x.scrollTop x.scrollTop = 20 |
||||||||||||||||||||||||
|
scrollWidth si scrollHeight
Latimea si inaltimea intregului camp de continut, inclusiv acele parti care sunt momentan ascunse.Daca nu exista continut ascuns ar trebui sa fie egal cu clientX/Y. Pagina de test |
Incor |
da | da | da | da | Incor |
aproape | va fi testat | ||||||||||||||||
x.scrollWidth x.scrollHeight Cand derulam elementul pana jos, Daca elementul nu are bara de derulare
|
||||||||||||||||||||||||
| Selector | IE 5.5 | IE 6 | IE 7 | IE8 | IE9 pr3 | FF 3.0 | FF 3.5 | FF 3.6 | FF 4b1 | Saf 4.0 Win | Saf 5.0 Win | Chrome 4 | Chrome 5 | Opera 10.10 | Opera 10.53 | Opera 10.60 | Konqueror 4.x | |||||||
Calcularea pozitiei mouseului (relativ fata de ce ?) a fost o zona de dezastru JavaScript . Din fericire browserele au depus eforturi pentru a evita asta.
| Selector | IE 5.5 | IE 6 | IE 7 | IE8 | IE9 pr3 | FF 3.0 | FF 3.5 | FF 3.6 | FF 4b1 | Saf 4.0 Win | Saf 5.0 Win | Chrome 4 | Chrome 5 | Opera 10.10 | Opera 10.53 | Opera 10.60 | Konqueror 4.x | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
clientX,clientY
fereastra
Pagina de test |
da | da | da | da | da | va fi testat | ||||||||||||||||||
event.clientX event.clientY Returneaza coordonatele mouseului relative fata de fereastra. Pe iPhone aceasta pereche returneaza aceleasi valori ca |
||||||||||||||||||||||||
offsetX, offsetY
tinta
Relativ fata de partea sus/stanga a cutiti de umplutura. Pagina de test |
cu bug-uri | da | No | cutie de rama | cutie de rama | cutie de continut | va fi testat | |||||||||||||||||
event.offsetX event.offsetY Returneaza coordonatele mouseului relativa fata de tinta evenimentului. Dar maie xact care punct din rama ca punct de referinta? Specificati aspune stanga/sus a ramei de umplutura(i.e. cutia formata de continut si umplutura, dar fara margine). IE8/9 este singurul browser care a reusit asta.
|
||||||||||||||||||||||||
| Selector | IE 5.5 | IE 6 | IE 7 | IE8 | IE9 pr3 | FF 3.0 | FF 3.5 | FF 3.6 | FF 4b1 | Saf 4.0 Win | Saf 5.0 Win | Chrome 4 | Chrome 5 | Opera 10.10 | Opera 10.53 | Opera 10.60 | Konqueror 4.x | |||||||
pageX, pageY
document
Pagina de test |
No | da | da | da | da | da | va fi testat | |||||||||||||||||
event.pageX event.pageY Returneaza coordonatele mouseului relativ fata de document. In marea majoritate a timpului asta este informatia pe care o doriti.
Pentru a o primii in IE, adaugati compensarea derularii documentului fata de |
||||||||||||||||||||||||
screenX, screenY
ecran
Pagina de test |
da | da | da | da | da | va fi testat | ||||||||||||||||||
event.screenX event.screenY Returneaza coordonatele mouseului relative fata de ecran. Pe iPhone aceasta este aproape egal cu |
||||||||||||||||||||||||
x, y
Egal cu clientX/Y
Pagina de test |
da | pagina X/Y | No | da | da | da | va fi testat | |||||||||||||||||
|
Nimeni nu poate explica de ce avem nevoie de |
||||||||||||||||||||||||
| Selector | IE 5.5 | IE 6 | IE 7 | IE8 | IE9 pr3 | FF 3.0 | FF 3.5 | FF 3.6 | FF 4b1 | Saf 4.0 Win | Saf 5.0 Win | Chrome 4 | Chrome 5 | Opera 10.10 | Opera 10.53 | Opera 10.60 | Konqueror 4.x | |||||||