A JavaScript Window objektum bemutatása – XML és konzol

Tulajdonságok

A window objektum számos tulajdonsággal rendelkezik. Tulajdonságait a EventTarget interfészből örökli, és a WindowOrWorkerGlobalScope és WindowEventHandlers mixinek tulajdonságait valósítja meg.

window.closed

A closed tulajdonság egy csak olvasható tulajdonság, amely azt jelzi, hogy a hivatkozott böngészőablak be van-e zárva vagy sem. Ez true, ha az ablak zárva van, és false egyébként. Ha például a:

console.log(window.closed)

futtatjuk az éppen megnyitott ablakon, akkor false kell naplóznia, mivel a böngészőablak nyilvánvalóan nyitva van.

window.console

A console tulajdonság egy objektum, amely számos olyan tulajdonsággal rendelkezik, amelyek hasznosak a böngésző konzoljára naplózott információkhoz. Ez egy csak olvasható objektum. A console metódusok a hibakereséshez hasznosak, és nem használhatók a végfelhasználók számára történő információmegjelenítésre. A console objektum a következő metódusokkal rendelkezik:

  • console.assert() – naplózza az üzenetet és a veremnyomot a konzolra, ha az első argumentum false
  • console.clear() – törli a konzolt
  • console.count() – naplózza, hogy hányszor hívták meg ezt a metódust a adott címkével
  • console.countReset() – visszaállítja a számláló értékét az adott címkéhez
  • console.debug() – naplózza a konzolra a ‘debug’-szintű üzenetet
  • console.dir() – felsorolja az adott JavaScript objektum tulajdonságait. A tartalomban háromszögek jelzik a gyermekobjektumok tartalmát.
  • console.dirxml() – lehetőség szerint megjeleníti az objektum HTML vagy XML reprezentációját
  • console.error() – hibaüzenetet naplóz a konzolra. A naplóüzenet formázásához használhatunk karakterlánc-helyettesítést és további argumentumokat.
  • console.group() – konzolüzenetek csoportját hozza létre, szintek szerint behúzva. A groupEnd() segítségével léphetünk ki egy szintről.
  • console.groupCollapsed() – konzolüzenetek csoportját hozza létre, szintek szerint behúzva, az elemek összezárva. Egy szintből a groupEnd().
  • console.groupEnd() – kiléphetünk az aktuális soron belüli csoportból
  • console.info() – információs üzeneteket naplóz. A naplóüzenet formázásához karakterlánc-helyettesítést és további argumentumokat használhatunk.
  • console.log() – általános információk naplózására szolgál. A naplóüzenet formázására string helyettesítést és további argumentumokat használhatunk.
  • console.table() – naplózza és táblázatos formában jeleníti meg az adatokat
  • console.time() – elindít egy időzítőt a paraméterben megadott névvel. Egy adott oldalon 10000 egyidejű időzítő futhat.
  • console.timeEnd() – leállítja a megadott időzítőt és naplózza az indulás óta eltelt időt másodpercben kifejezve.
  • console.timeLog() – naplózza a megadott időzítő értékét a konzolra
  • console.trace() – naplózza a stack trace-t
  • console.warn() – naplózza a figyelmeztető üzenetet a konzolra. A naplóüzenet formázásához karakterlánc-helyettesítést és további argumentumokat használhatunk.

window.customElements

A customElements tulajdonság egy csak olvasható tulajdonság, amely egy hivatkozást ad vissza a CustomElementRegistry objektumra, amely új egyéni elemek regisztrálására és a korábban regisztrált egyéni elemekről szóló információk lekérdezésére használható. Az egyéni elemeket webkomponenseknek is nevezik.

A webkomponensek egy olyan szabvány, amely lehetővé teszi, hogy olyan egyéni elemeket hozzunk létre, amelyek más HTML-elemeket kapszuláznak. Erre azért van szükségünk, hogy HTML-elemek csoportjait különböző helyeken újra felhasználhassuk. Enélkül ugyanazt a HTML-elemcsoportot különböző helyeken meg kell ismételnünk, ha újra akarjuk őket használni. A definiált egyéni elemeket a CustomElementRegistry-ben tároljuk, hogy a böngészők tudják, hogy a definiált egyéni elem valóban érvényes elem.

Az egyéni elem definiálásához használhatjuk a customElements tulajdonságot, mint a következő kódban:

const customElementRegistry = window.customElements;
customElementRegistry.define('hello-element',
class extends HTMLElement {
constructor() {
super();
const shadow = this.attachShadow({
mode: 'open'
});
const span = document.createElement('span');
span.setAttribute('class', 'wrapper');
span.innerHTML = 'Hello';
shadow.appendChild(span);
}
});

Ezután a HTML-fájlban hozzáadjuk:

<hello-element></hello-element>

A fenti kódban a window.customElements objektum define módszerét használtuk. A define metódus első argumentumában átadjuk az elem nevét. Ezután a második elemben átadunk egy HTMLElement osztályt, ami valójában egy objektum a JavaScriptben. A class constructor metódusában létrehozunk egy span elemet a innerHTML 'Hello' értékkel, majd hozzácsatoljuk az árnyékgyökérhez, ami a webkomponens gyökere. Ha a fenti kódot futtatjuk, a képernyőn a Hello szót kell megjelenítenünk.

A define metódus három argumentumot fogad el. Az első a name, amely egy karakterlánc, amely az egyéni elem nevét tartalmazza. A második argumentum egy HTMLElement konstruktor, ahol a konstruktor osztályban létrehozzuk azokat a HTML elemeket, amelyeket az árnyékgyökérhez szeretnénk csatolni, és megjeleníteni a létrehozott elemeket. A harmadik argumentum egy opcionális argumentum, amely az elemek definiálásának módját szabályozza. Az egyetlen támogatott tulajdonság a extends tulajdonság, amely egy karakterlánc, amellyel megadhatjuk a kiterjesztendő beépített elemet. Hasznos egy olyan egyéni elem létrehozásához, amely egy beépített elemet, például a div , span vagy p elemet testre szabja.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.