Jak na řízené otevírání oken ve Flashi?

29. dubna 2002

V dnešním článku bych vám chtěl ukázat, že otevírání nových oken ve Flashi nemusí být až tak neřízené. Stačí k tomu použít příkazy Javascriptu. Předvedu vám i nejčastěji používané možnosti.

Tento článek předpokládá, že čtenáři již zvládli výrobu jednoduchých tlačítek s přiřazováním základních akcí.

Otevření nového okna přes celou obrazovku

Představte si, že máte spuštěný Windows projektor (exe soubor) a potřebujete otevřít HTML soubor tak, aby se vám zobrazil přes celou obrazovku. Jaké má ale uživatel nastaveno rozlišení obrazovky? Postup je následující:

K tlačítku přiřadíme akci s tímto zápisem nebo tato akce může být umístěna na samostatném frame.

on (press) {
   getURL („http://www.interval.cz)“);
}

Tento příkaz by sám o sobě použil výchozí nastavení uživatelova prohlížeče. Abychom zajistili otevření prohlížeče přes celou obrazovku, použijeme k tomu příkazu Javascriptu, který umístíme do sekce HEAD volaného souboru.
Pro někoho následující zápis je samozřejmostí, ale kolikrát jsem se setkal v diskusích s otázkou: „Kam mám ten JS umístit?“:

&ltHTML&gt
&ltHEAD&gt
&ltscript language=“Javascript“&gt
&lt!–
   window.resizeTo(screen.width, screen.height);
   window.moveTo(0,0);
–&gt
&lt/script&gt
&lt/HEAD&gt
&ltBODY&gt
… váš HTML soubor
&lt/BODY&gt
&lt/HTML&gt

 

Otevření nového okna na stránce

Běží vám flashová animace a potřebujete do zvláštního okna umístit nějaké upozornění, reklamu a chcete toto okno umístit do popředí před tuto animaci.

Tlačítku ve Flashi přiřadíte následující příkaz:

on (press) {
   getURL („javascript:OpenWindow(‚soubor.html‘,’Window‘,’scrollbars=no, toolbar=no, resizable=no, menubar=no, width=200, height=100′)“);
}

Ve stručnosti vysvětlím předchozí zápis. Zavolej Javascriptovou funkci OpenWindow, která otevře nové okno v levém horním rohu šířky 200 px, výšky 100 px, s názvem Window, umísti do něj soubor.html, nepovolí posun textu v okně, nedovolí zvětšení okna a nezobrazí Menu.

Do sekce HEAD (viz předchozí popis), ale tentokrát do Flashem generovaného souboru, umístíme následující skript:

&ltSCRIPT LANGUAGE=“JavaScript“&gt
&lt!–
function OpenWindow(theURL, winName, features) {
   window.open(theURL, winName, features);
}
–&gt
&lt/script&gt

U této metody by se dal použít ještě jeden způsob otevírání oken, kdy veškeré řídící parametry se nacházejí přímo v těle skriptu. Ale tento způsob by byl vhodný pouze pro jediné otevření okna, zatímco výše popsaným způsobem můžete z Flashe několikrát volat tuto funkci a pokaždé s jinými parametry.

 

Otevření nového okna uprostřed na stránce

Stejně, jako v předchozím odstavci, potřebujete otevřít nové okno, ale tentokrát si jej přejete umístit přímo na střed obrazovky.

Tlačítku ve Flashi přiřadíte stejné příkazy jako v předchozí části, jenom pozměníte obsah volané funkce a kvůli výpočtům parametry šířku a výšku okna umístíte za název souboru a okna:

on (press) {
   getURL („javascript:CenterWindow(‚soubor.html‘,’Window‘, ‚200‘, ‚100‘, ‚scrollbars=no, toolbar=no, resizable=no, menubar=no‘)“);
}

Do sekce HEAD Flashem generovaného souboru umístíme tento skript:

&ltSCRIPT LANGUAGE=“JavaScript“&gt
&lt!–
function CenterWindow(theURL, winName, wi, he, features) {
   var x=(screen.width-wi)/2;
   var y=(screen.height-he)/2;
   winpa=’height=’+he+‘,width=’+wi+‘,top=’+y+‘,left=’+x;
   win=window.open(theURL, winName, winpa, features);
}
–&gt
&lt/script&gt

Tak jako jste v předchozím příkladu nastavili parametry umístění přímo na střed, podobným způsobem můžete nastavit s využitím předchozích znalostí umístění obrázku kamkoli na obrazovce.

Jednotlivé ukázkové příklady si můžete ke svému prostudování stáhnout.

Starší komentáře ke článku

Pokud máte zájem o starší komentáře k tomuto článku, naleznete je zde.

Štítky: Články

Mohlo by vás také zajímat

Nejnovější

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *