Movatterモバイル変換


[0]ホーム

URL:


Ugrás a tartalomhoz
Wikipédia
Keresés

Document Object Model

Ellenőrzött
A Wikipédiából, a szabad enciklopédiából
(Dom szócikkből átirányítva)

Változat állapota

Ez a lap egy ellenőrzött változata

Ez aközzétett változat,ellenőrizve:2024. január 30.

Pontosságellenőrzött

ADokumentum Objektum Modell (Document Object Model /DOM) egyplatform- ésnyelvfüggetlen standardobjektummodell, amely aHTML,XHTML,XML, valamint rokon formátumaiknak a szerkezetét és azobjektumaikkal történő interakciókat modellezi.[1] A DOM egymással gyerek-szülő kapcsolatban álló objektumok rendszere. A dokumentum tartalmát, illetve a dokumentum valamennyi összetevőjét magában foglalja. A beépített objektumok kezelése böngészőnként eltérő lehet, továbbá plusz tulajdonságok is lehetnek különböző böngészők esetén.

Történelem

[szerkesztés]

A Dokumentum Objektum Modell története szorosan összekapcsolódik aböngészőháborúkként elhíresült, az 1990-es évek végén aNetscape Navigator és aMicrosoft Internet Explorer, illetve ezáltal aJavaScript és aJScript között zajló versengéssel. Ezek voltak az elsők a széleskörűen elterjedt, awebböngészőkböngészőmotorjaiban implementáltszkriptnyelvek közül.

Legacy DOM

[szerkesztés]

A JavaScript 1996-ban jelent meg aNetscape Communications által bemutatott Netscape Navigator 2.0-s verziójában. A Netscape versenytársa, aMicrosoft szintén ebben az évben mutatta be azInternet Explorer 3.0-s verzióját, amely a JavaScript egy portolását, a JScript-et használta. A JavaScript és a JScript segítségével a webfejlesztők olyan weboldalakat hozhattak létre, melyeken kliens-oldali interakciókra is lehetőség van. A felhasználó által generált események detektálásának és a HTML dokumentumok módosításának korlátozott lehetőségei végül "DOM Level 0" vagy "Legacy DOM" néven váltak ismertté, melyek ezen nyelvek első generációi voltak. Egyedi szabványt nem fejlesztettek ki a DOM Level 0 számára, de aHTML4 specifikációja már részben leírta ezt is.

Ez a korai DOM verzió korlátozva volt aHTML-elemek elérésében. A HTML-űrlap,hivatkozás és kép elemek voltak elérhetőek egy hierarchikus név által. Ez a név a dokumentum gyökér objektumával kezdődött, továbbá használható volt akár a neve akár a szekvenciális indexe a bejárni kívánt elemeknek. Példának okán egy űrlap elem elérhető volt akár adocument.urlapNeve.beviteliMezoNeve formában, vagy akár adocument.forms[0].elements[0] formában is.

A Legacy DOM lehetővé tette a kliens-oldalon történő űrlap validációt és a népszerű „rollover(en) effekt használatát.

Intermediate DOM

[szerkesztés]

1997-ben a Netscape és a Microsoft bemutatta a Netscape Navigator, illetőleg az Internet Explorer 4.0-s verzióit, mely webböngészők már támogatták aDynamic HTML-t (DHTML). Ezáltal lehetőség nyílt módosításokat eszközölni egy már betöltött HTML dokumentumon. A DHTML kiegészítéseket szükségeltetett a Legacy DOM implementációkban elérhető kezdetleges dokumentum objektum felépítésében. Noha, a Legacy DOM implementációk nagymértékben kompatibilisek voltak egymással - mivel a JScript a JavaScript-en alapult -, a DHTML DOM kiegészítéseket párhuzamosan fejlesztették és mindvégig inkompatibilisek maradtak. A DOM ezen verziói "Intermediate DOM" néven váltak ismertté.

Ezen verziók által már lehetőség nyílt aCSS tulajdonságok manipulálására is, így befolyásolhatóvá vált a dokumentumok megjelenése. Sőt mi több hozzáférést biztosítottak egy új funkcióhoz, az ún. "rétegek"-hez , a "document.layers" (Netscape Navigator) és a "document.all" (Internet Explorer) tulajdonságok által. Az alapvető inkompatibilitási problémák miatt aböngésző-független webfejlesztés különleges figyelmet igényelt minden támogatott böngésző esetén.

A Netscape Navigator későbbi verzióiban felhagytak az Intermediate DOM támogatásával, míg az Internet Explorer-ben ez továbbra is támogatott maradt avisszafelé kompatibilitás biztosítása érdekében.

Szabványosítás

[szerkesztés]

Az 1994-ben alapítottWorld Wide Web Consortium (W3C), amelynyílt szabványokat támogat avilágháló számára, összehozta a Netscape Communications-t, a Microsoft-ot és más cégeket, hogy kifejlesszenek egy szabványt a webböngészőkben használatos szkript nyelvek számára, így alakult ki az „ECMAScript”. A szabvány első verziója 1997-ben látott napvilágot. Az ezt követő JavaScript és JScript kiadások, így a nagyobb böngésző függetlenség érdekében megvalósíthatták az ECMAScript szabványt.

Az ECMAScript megjelenése után a W3C elkezdett dolgozni a DOM szabványosításán. A kezdeti eredmények voltak az ún. „DOM Level 1”, amelyet 1998 végén terjesztett elő a W3C. Körülbelül ugyanekkor az Internet Explorer 5.0 szállított korlátozott támogatást a DOM Level 1-hez. Ez a verzió már teljes modellt biztosított a teljes HTML ésXML dokumentum számára, beleértve a dokumentumok bármely részének megváltoztatásához szükséges eszközöket is. A nem komform böngészők, mint az Internet Explorer 4.x és a Netscape 4.x még ekkortájt, a 2000-es év végén is széles körben elterjedtek voltak.

2000 végén jelent meg aDOM Level 2. Bevezette agetElementById(en) funkciót, valamint azeseménymodellt és támogatta azXML névtereket és a CSS-t.

ADOM Level 3 (a DOM specifikáció jelenlegi kiadása) 2004 áprilisában jelent meg. Ez a verzió immár támogatja azXPath-t és a billentyűzeteseménykezelését, valamint egy interfészt a dokumentumok XML-lészerializációjához.

2005-re a W3C-féle DOM nagy része jól támogatottá vált az átlagos ECMAScript támogatással rendelkező webböngészők, mint aMicrosoft Internet Explorer 6, azOpera, aSafari, valamint aGecko-alapú böngészők, mint aMozilla Firefox, aSeaMonkey és aCamino körében.

Alkalmazásai

[szerkesztés]

Mivel a DOM mindkét irányú navigációt támogatja (szülő és az előző testvér felé is) és lehetővé teszi a változtatást tetszőleges helyen, az implementációban pufferelni kell a beolvasott dokumentumot (vagy annak értelmezett részét). Ebből következik, hogy a DOM leginkább olyan alkalmazások kezelésére alkalmas, ahol ismételt és nem szekvenciális sorrendű hozzáférés történik a dokumentumhoz. Amennyiben egy alkalmazás szigorúan szekvenciális és egyszer futó, aSAX modell valószínűleg gyorsabb és kevesebb memóriát használ.

Webböngészők

[szerkesztés]

Awebböngészők rendszerint a DOM-hoz hasonló belső modellt használnak a dokumentumok (például egy HTML oldal) megjelenítéséhez. A DOM API-kat weboldalak, illetve egyes részeik JavaScript kódból történő vizsgálására, vagy módosítására is használják. Más szóval, a Dokumentum Objektum Modell az a mód, ahogyan a JavaScript látja a webböngésző állapotait és az általa megjelenített HTML oldalt.

Amikor egy böngésző megjelenít egy HTML oldalt, akkor legelőször betölti az oldalt a web-szerverről, majd értelmezi ajelöléseit (pl. HTML) és létrehozza a modellt a memóriában tárolt DOM formájában.

Minden dokumentum csomópontjai fa struktúrába vannak szervezve, ezt hívjuk DOM fának. A legfelső csomópont a DOM fában aDokumentum (Document) objektum. Minden csomópont tetszőleges számú - nulla, vagy több - gyerekkel rendelkezhet.

Alább látható egy példa egy DOM fa felépítésére:

 |-> Dokumentum(Document)   |-> Elem(Element)(pl. <html>)     |-> Elem(Element)(pl. <body>)       |-> Elem(Element)(pl. <div>)         |->szöveges tartalom         |-> Horgony(Anchor)           |->szöveges tartalom       |-> Űrlap (Form)            |-> Szövegdoboz(Text-box)            |-> Szövegmező(Text Area)            |-> Rádió gomb(Radio Button)            |-> Jelölőnégyzet(Check Box)            |-> Select            |-> Gomb

Böngészőmotorok

[szerkesztés]

A webböngészők ún. böngészőmotorokra támaszkodnak a HTML dokumentumok Dokumentum Objektum Modellé alakítása során. Némely ilyen motor, mint aTrident/MSHTML és aPresto alapvetően egy adott böngészőhöz tartoznak, mint az Internet Explorer és az Opera. Mások, mint aWebKit és aGecko számos böngészőben teljesítenek szolgálatot, mint aGoogle Chrome, aFirefox és aSafari. A különböző böngészőmotorok általában mind eltérő fokú figyelmet fordítanak a DOM szabványok pontos betartására.

Lásd még:en:Comparison of layout engines (Document Object Model)

Függvénykönyvtárak

[szerkesztés]

DOM implementációk:

  • libxml2
  • MSXML
  • Xerces – egy C++-os DOM megvalósítás, amely Java és Perl átiratokkal is bír.

DOM-t megvalósító API-k:

  • JAX-P (Java API for XML Processing) egyike aJava XML programozásiAPI-jának, amely biztosítja azXML dokumentumok validációjához és elemzéséhez szükséges képességeket.

Fordítás

[szerkesztés]

Ez a szócikk részben vagy egészben aDocument Object Model című angol Wikipédia-szócikkezen változatának fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel. Ez a jelzés csupán a megfogalmazás eredetét és a szerzői jogokat jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.

Kapcsolódó szócikkek

[szerkesztés]
  • Ajax – egy módszer, amely DOM manipulációt és olyan egyéb technikákat alkalmaz, amelyek lehetővé teszik az adatkommunikációt a weblapok újratöltése nélkül.
  • Alkalmazás Objektum Modell
  • DOM scripting
  • JDOM – egy Java-alapú dokumentum objektum modell XML kezelésére, amely egyesíti a DOM és aSAX lehetőségeit, illetve értelmezőket használat a dokumentum létrehozására.
  • jQuery
  • JSON
  • Prototype.js
  • RapidXML – egy kísérlet a leggyorsabb XML értelmező létrehozására, felhasználva a modern C++ lehetőségeit.
  • SAX – egy soros hozzáférés elemző API, a DOM egy alternatívája.
  • SXML – egy modell, amely S-kifejezések (S-expressions) formájában reprezentálja az XML-t és a HTML-t.
  • TinyXML – hatékony, platformfüggetlen C++ XML függvénykönyvtár.

Jegyzetek

[szerkesztés]
  1. Dokumentum Objektum Modell (DOM). W3C. (Hozzáférés: 2012. január 12.) „ADokumentum Objektum Modell (Document Object Model /DOM) egyplatform- és nyelvfüggetleninterfész, amely lehetővé teszi a programok és szkriptek számára, hogy dinamikusan elérjék és módosítsák adott dokumentumok tartalmát, struktúráját és kinézetét.”

Források

[szerkesztés]

További információk

[szerkesztés]
A lap eredeti címe: „https://hu.wikipedia.org/w/index.php?title=Document_Object_Model&oldid=26839048
Kategória:
Rejtett kategória:

[8]ページ先頭

©2009-2025 Movatter.jp