DOM a gyakrolatban, objektumok feltérképezése

Ezt a szkriptet évekkel ezelőtt készítettem amikor még híre-hamva sem volt az AJAXnak, de ma, az AJAX bűvöletében hatványozottan hasznos lehet. IE, Safari, Firefox, Opera? Vágd zsebre mindet!

A gyakrolatban megesik, hogy nem találunk refernciát egy böngészőobjektum pontos működéséről, tagjairól, vagy éppen egy olyan paramétert keresünk, aminek még nem is tudjuk a nevét. Itt a megoldás! Ebben a cikkben egy szkriptet ismertetek, ami sok esetben hazsnos lesz, sőt megkockáztatom, ezután el se tudod képzelni az életed nélküle.

A tulajdonságlistázó szkript

A szkript nem tesz mást, mint felsorolja a paraméterként megadott objektum összes tagját, azok értékeivel. Ez a szkript alapváltozata, bőven továbbfejlesztheti a kedves Olvasó saját igényei szerint, akár egy teljes debuggerré.

function showProps(obj, objName) { if (typeof(objName) == "undefined") objName = "object"; var result = ""; for (var i in obj) { result += objName + "." + i + " = "; try { result += obj[i]; } catch (e) { result += e; } result += "\n"; } var w = window.open("", "w", "width=560,height=450,resizable=yes,scrollbars=yes"); w.document.write("<pre>" + result + "</pre>"); w.document.close(); }

Amint látszik a szkript 2 paramétert vár, az első (obj) maga az objektum, aminek a tartalmát látni szeretnénk, a második az objektum egyfajta "emberbarát" neve, ami egy string, ez lesz kiírva a listában. Pédlául:

showProps(document, "document");

Ami még említést érdemel az, hogy kivételkezelés is be van építve, ha valamelyik tulajdonság elérése során ilyen keletkezne (pl. böngészőhibák mint a Firefox document.domConfig), akkor is hazsnálható legyen ez a kis eszköz.

Végül legyen itt egy működő próba. Ha csak általános információkra van szükséged az adott eseményekről, hasznos lehet a következő kis demonstráció:

Külső linkek