V dnešním článku se podíváme na zoubek velmi často využívanému
javascriptu. Jedná se o skript zajišťující otevření nového okna prohlížeče s přesně danými
parametry jako jsou např.velikost okna či jeho pozice. Parametrů, které můžeme
definovat, je ovšem mnohem více.
Jistě víte, že lze pomocí HTML tagu target="_blank"
donutit prohlížeč, aby se odkazovaná stránka otevřela v novém okně. Ale
to je bohužel vše, co můžete určit. Pomocí javascriptu však můžete nastavit
nejen velikost okna a jeho pozici (jak bylo zmíněno výše), ale také
(ne)zobrazení menu prohlížeče, řádku s adresou, stavového řádku, panelu
s odkazy či posuvníků (scrollbarů). Povolit či zakázat můžete též změnu
velikosti okna (tažením za jeho okraj) a zkopírování historie (předchozích
navštívených stránek) z okna, z nějž se odkazujete.
Skript vypadá schématicky následovně:
<script language="JavaScript">
window.open(URL, název_okna, parametry)
</script>
Kde:
- URL je adresa WWW stránky, která má být v otevíraném okně zobrazena
(relativní či absolutní)
- název_okna je interní název okna (objektu) - (nejedná se o titulek
okna) - nesmí obsahovat mezery
- parametry jsou parametry okna (velikost, pozice aj. viz výše) oddělené
čárkou- seznam jednotlivých parametrů viz níže
Zde je seznam možných parametrů:
- width - šířka okna v pixelech (obrazových bodech)
- height - výška okna v pixelech (obrazových bodech)
- top - vertikální pozice levého horního rohu okna od levého horního
rohu obrazovky v pixelech*
- left - horizontální pozice levého horního rohu okna od levého horního
rohu obrazovky v pixelech*
- toolbar - (ne)zobrazení standardních tlačítek jako Domů, Vpřed, Zpět
ap.
- menubar - (ne)zobrazení textového hlavního menu prohlížeče
- scrollbars - (ne)zobrazení posuvníků
- resizable - povolení/zakázání změny velikosti okna tažením za jeho
okraj
- directories - (ne)zobrazení panelu Odkazy,
- status - (ne)zobrazení stavového řádku,
- location - (ne)zobrazení řádku s adresou (URL),
- copyhistory - (ne)možnost zkopírování historie z původního okna
*) Pozn.: Je třeba uvést, že ne všechny prohlížeče počítají
pozici od levého horního okraje obrazovky. Například Opera počítá pozici
top a left od levého horního rohu okna "vyhrazeného" pro WWW stránku.
Výše uvedené parametry nabývají (kromě parametrů velikosti a pozice
okna) hodnot yes a no (scrollbars nabývá též hodnoty auto,
tj. posuvník se zobrazí pokud je vzhledem k délce textu třeba). Skript může
tedy vypadat například takto:
<script language="JavaScript">
window.open('stranka.htm', 'mojeokno', 'toolbar=no,menubar=no,scrollbars=no,resizable=yes,directories=no,status=yes,
width=300,height=80,top=20,left=20')
</script>
Pro parametry, které nejsou uvedeny, jsou použity standardní
hodnoty.
Lze ovšem použít i zjednodušený zápis. Podstatné je uvést parametry width
a height. Pokud jsou tyto parametry uvedeny, většina prohlížečů pak
bere všechny parametry (kromě pozice okna samozřejmě), které nejsou uvedeny
jako by byly nastaveny standardní hodnoty, tj. na no (a scrollbars
na auto). Parametry (jako toolbar, menubar ap.), u nichž chceme nastavit
hodnotu yes, stačí jen uvést výčtem bez nutnosti psát "=yes".
Výše uvedený skript po tomto zjednodušení vypadá následovně:
<script language="JavaScript">
window.open('stranka.htm', 'mojeokno', 'resizable,status,scrollbars=no,width=300,height=80,top=20,left=20')
</script>
Malá poznámka - u scrollbars je nutno hodnotu no uvést, neboť její
neuvedení by se rovnalo zápisu yes a neuvedení parametru scrollbars
vůbec by se rovnalo standardní hodnotě, tedy auto.
Pokud vložíte výše uvedený skript do vaší stránky, okno s definovanými
parametry se otevře hned po načtení stránky (takto se otvírají většinou
reklamní okna). Často ovšem potřebujeme, aby se okno otevřelo až v určitém
okamžiku - nejčastěji po kliknutí na odkaz. Jak toho docílit a nejen to se
dozvíte v pokračování tohoto článku, kde již nebudou chybět ani názorné
ukázky funkčnosti skriptu.
Pecka Miroslav
|