JavaScript Window je globální rozhraní (typ objektu), které slouží k řízení životního cyklu okna prohlížeče a provádění různých operací s ním.

V našem JavaScriptovém kódu je k dispozici globální proměnná window, která reprezentuje aktuální okno prohlížeče, ve kterém je kód spuštěn, a lze k ní přímo přistupovat pomocí literálu window.

Představuje okno obsahující webovou stránku, která je zase reprezentována objektem document. Oknem může být nové okno, nová karta, sada rámců nebo jednotlivé rámy vytvořené pomocí JavaScriptu.

V případě prohlížeče s více kartami reprezentuje objekt okna jednu kartu, ale některé jeho vlastnosti jako innerHeight, innerWidth a metody jako resizeTo() ovlivní celé okno prohlížeče.

Při každém otevření nového okna nebo karty se automaticky vytvoří objekt okna reprezentující toto okno/kartu.

Vlastnosti objektu okna slouží k získání informací o právě otevřeném okně, zatímco jeho metody slouží k provádění konkrétních úloh, jako je otevření, maximalizace, minimalizace okna atd.

Abychom pochopili objekt okna, použijeme jej k provedení některých operací a uvidíme, jak funguje.

Použití objektu okna v jazyce JavaScript

Použijeme objekt okna v jazyce JavaScript k vytvoření nového okna pomocí metody open(). Tato metoda vytvoří nové okno a vrátí objekt, který lze dále použít ke správě tohoto okna.

V kódu výše jsme použili objekt okna existujícího okna k vytvoření nového okna pomocí metody open(). V metodě open() můžeme zadat adresu URL, která se má otevřít v novém okně (můžeme ji nechat i prázdnou), název okna, šířku a výšku vytvářeného okna.

Následující syntaxe metody open() objektu okna:

let newWindow = window.open(url, windowName, );

Při vytváření nového okna můžeme zadat libovolný počet vlastností.

Když se metoda open() provede, vrátí odkaz na objekt okna pro nově vytvořené okno, který můžete přiřadit do proměnné, jako jsme to udělali v kódu výše. Hodnotu vrácenou metodou window.open() jsme přiřadili proměnné win.

Proměnnou win jsme použili k přístupu k novému oknu, jako je získání názvu okna, získání umístění okna, které nové okno otevřelo, atd.

Pro objekt okno existuje mnoho vlastností a metod, které jsme uvedli níže.

Zjištění rozměrů okna

Výšku a šířku okna můžeme získat pomocí vestavěných vlastností objektu okno.

Můžeme také přistupovat k objektu dokumentu pomocí objektu window(window.document), který nám poskytuje přístup k dokumentu HTML, tudíž můžeme přidat nový prvek HTML nebo zapsat do dokumentu libovolný obsah, jako jsme to udělali v příkladu výše.

Vlastnosti objektu okna v jazyce JavaScript

Vlastnosti objektu okna se vztahují k proměnným vytvořeným uvnitř objektu okna.

V jazyce JavaScript jsou všechna dostupná data připojena k objektu okna jako vlastnosti.

Můžeme přistupovat k vlastnostem objektu okna, např: window.propertyname kde propertyname je název vlastnosti.

Níže je uvedena tabulka nejoblíbenějších vlastností objektu okna:

.

Vlastnost Popis
uzavřeno vrací logickou hodnotu, která určuje, zda bylo okno uzavřeno nebo ne
dokument určuje objekt dokumentu v okně.
historie určuje objekt historie okna.
frames určuje pole všech rámců v aktuálním okně
defaultStatus určuje výchozí zprávu, která se má zobrazit ve stavovém řádku okna.
innerHeight určuje vnitřní výšku oblasti obsahu okna.
innerWidth určuje vnitřní šířku oblasti obsahu okna.
length určuje počet rámců obsažených v okně.
location určuje objekt umístění okna
name určuje název okna
top určuje odkaz na nejvyšší okno prohlížeče.
self vrací odkaz na aktuální aktivní rám nebo okno.
parent vrací rodičovský rám nebo okno aktuálního okna.
status určuje zprávu, která se zobrazí ve stavovém řádku okna, když je s oknem prováděna nějaká činnost.
screenleft určuje souřadnici x okna vzhledem k obrazovce monitoru uživatele
screenTop určuje souřadnici y okna vzhledem k obrazovce monitoru uživatele
screenX určuje souřadnici x okna vzhledem k obrazovce monitoru uživatele
screenY Určuje souřadnici y okna vzhledem k obrazovce monitoru uživatele

Podívejme se na příkladu na několik těchto vlastností v akci:

V uvedeném příkladu jsme vytvořili nové okno jen proto, abychom vás seznámili s vytvářením nových oken a také proto, abyste pochopili, že když vytvoříme nové okno, pak aktuální okno má jiný objekt okna a nové okno bude mít samostatný objekt okna.

Poté jsme se pokusili přistupovat k některým vlastnostem nově vytvořeného okna.

Úkol: Vyzkoušejte si na výše uvedeném hřišti kódu některé další vlastnosti oken, abyste si procvičili a pochopili, jak vlastnosti oken fungují.

Metody objektu okna v jazyce JavaScript

Metody objektu okna odkazují na funkce vytvořené uvnitř objektu okna, které lze použít k provádění různých akcí s oknem prohlížeče, například jak zobrazit zprávu nebo získat vstup od uživatele.

Níže uvádíme některé z nejčastěji používaných metod objektu okna:

.

.

.

Metoda Popis
alert() určuje metodu, která zobrazí okno upozornění se zprávou tlačítko OK.
blur() určuje metodu, která odstraní fokus z aktuálního okna.
clearInterval() určuje metodu, která vymaže časovač, který je nastaven pomocí metody setInterval().
close() určuje metodu, která zavře aktuální okno.
confirm() určuje metodu, která zobrazí dialogové okno se zprávou a dvěma tlačítky OK a Storno
focus() určuje metodu, která nastaví fokus na aktuální okno.
open() určuje metodu, která otevře nové okno prohlížeče
moveTo() určuje metodu, která přesune okno na zadanou pozici
moveBy() určuje metodu, která přesune okno vzhledem k jeho aktuální pozici.
prompt() určuje metodu, která vyzve k zadání vstupu.
print() určuje metodu, která odešle příkaz k vytištění obsahu aktuálního okna.
setTimeout() určuje metodu, která vyhodnotí výraz po zadaném počtu milisekund.
setInterval() určuje metodu, která vyhodnocuje výraz v zadaných časových intervalech (v milisekundách)
resizeBy() určuje velikost, o kterou se změní velikost okna
resizeTo() používá se pro dynamickou změnu velikosti okna
scroll() posune okno na určité místo v dokumentu
scrollBy() posune okno o danou hodnotu
stop() tato metoda zastaví načítání okna

Ukážeme si na příkladu několik výše uvedených metod v akci:

V uvedeném příkladu jsme použili několik metod okna, můžete vyzkoušet i další metody. V příštím tutoriálu se seznámíme s objektem Historie, který je vlastností objektu okno.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.