. .. : Swf.hu 1.0 archívum : Swf.hu főoldal >>> : .. .




 
 
SEGÉDLETEK Flash+JavaScript

Felugró ablak/teljes képernyő nyitása Flash-ből
  feltöltve: 2005.04.01 | szerző: sgabe | olvasva: 14773 alkalommal

 
 

Egy általános HTML oldalban böngésző ablakok nyithatók és kontrollálhatók a JavaScript segítségével. Egy Flash moziból is nyitható illetve zárható ilyen böngésző ablak, de mivel az ablak a böngészőnek egy kiegészítő komponense a Flashnek kommunikálnia kell a böngészővel és utasítania kell egy új ablak nyitására. Az alábbi példa szemlélteti a különböző eljárások működését.

Eljárások áttekintése

GetURL
Ez az eljárás a getURL akciót használja egy böngésző ablak megnyitására egy új és üres ablak célzásával. Ez a módszer egyszerű, működik minden böngészővel és nem szükséges hozzá JavaScript. Hátránya azonban, hogy az ablak bizonyos tulajdonságai nem szabályozhatóak mint pl. a méret, a gördítősáv illetve az eszköztár megjelenítése stb.

GetURL akció használata Flashben

  1. Adjunk egy getURL akciót egy gombhoz vagy egy kulcsképkockához
  2. írjuk be a kívánt URL címet majd állítsuk be az új ablak megnyitását: Open in > "_blank"

GetURL:"javascript"
Ez az eljárás a getURL akciót használja egy JavaScript funkció meghívására amit a HTML oldal kódjában el kell helyezni. Egyszerű és csupán nagyon kevés JavaScript ismeret szükségeltetik az alkalmazásához, de nem működik minden böngészővel. A getURL akció Flashben tartalmazza az URL címet és az ablak paramétereit mint például a szélesség és a magasság.

1. A flash mozi elkészítése

  1. Adjunk egy getURL akciót egy gombhoz vagy egy kulcsképkockához
  2. Az URL-hez illesszük be az alább látható kódot
  3. Publikáljuk a Flash mozit és a HTML oldalt File > Publish
javascript:openNewWindow('http://www.swf.hu','ablak',

       'height=480,width=640,toolbar=no,scrollbars=yes')

2. A JavaScript hozzáadása a HTML oldalhoz

  1. Nyissuk meg a publikált HTML oldalt szerkesztésre például a Jegyzettömbbel, bármely más közönséges szövegszerkesztővel vagy HTML szerkesztővel mint például a Dreamweaver
  2. Másoljuk a fejrészbe (<head>...</head>) a következő kódot pontosan ahogy itt látható
  3. Mentsük el a HTML dokumentumot majd próbáljuk ki egy böngészőben
<script language="JavaScript"> 

function openNewWindow(URLtoOpen, windowName, windowFeatures) {

newWindow=window.open(URLtoOpen, windowName, windowFeatures); }

</script>

Ha a HTML fájlt is újra publikálod miután a Flash mozit módosítottad, ezek a változások felülíródnak és elvesznek, tehát újra el kell helyezned a kódot az oldal forrásában.

Paraméterek
A getURL akció utasítja a JavaScriptet, hogy hívja meg az 'openNewWindow' funkciót ami az alábbi paramétereknek megfelelően hajtódik végre.

javascript:openNewWindow új ablak megnyitása
'http://www.swf.hu' URL cím
'ablak' ablak neve
height ablak magassága pixelben
width ablak szélessége pixelben
toolbar eszköztár megjelenítése (yes/no)
scrollbar gördítősáv megjelenítése (yes/no)

FSCommand
Ez a módszer az FSCommand akciót használja egy a HTML kódban elhelyezett JavaScript meghívására ami egy új böngészőablakot nyit. A script tartalmazza az URL címet és az új ablak paramétereit. Ez az eljárás nem működik minden böngészőn.

1. A Flash mozi elkészítése

  1. Adjunk egy FSCommand akciót egy gombhoz vagy egy kulcsképkockához
  2. Parancsnak írjuk be a következőt: "openWindow"
  3. A Publish Settings HTML fülén válasszuk a következőt: Flash with FSCommand
  4. Publikáljuk a Flash mozit és a HTML filet

2. A JavaScript hozzáadása a HTML oldalhoz

  1. Nyissuk meg a publikált HTML oldalt szerkesztésre, mint az előzőekben.
  2. Keressük ki a következő sort: // Place your code here...
  3. Cseréljük ki a feljebb említett sort az alább látható JavaScriptre
  4. Mentsük el a HTML dokumentumot és teszteljük le egy böngészőben
{if(command=="openWindow"){ openNewWindow()}}

function openNewWindow(){setTimeout(

window.open('http://www.swf.hu','ablak',

'height=480,width=640,toolbar=no')),0}

Teljes képernyős felugróablak

Amennyiben úgy érezzük, hogy a tökéletes hatás eléréséhez a teljes képernyőn való futtatás lenne a legelőnyösebb weboldalunk, előadásunk, játékunk és egyéb munkáink megtekintéséhez ezt egyszerűen megtehetjük.

Azonban felhívnám a figyelmet, hogy pozitívumai mellett hátrányosan is befolyásolhatjuk ezzel például weboldalunk látogatottságát. Olykor rendkívül bosszantó lehet, ha a felhasználó nem akarja teljes képernyőn szemlélni a munkánkat. Tehát mindenképpen javaslom, hogy amennyiben lehetséges csak alternatív futtatási lehetőségként alkalmazzátok ezt a módszert.

A látogatók kevesebb, mint 6 másodperc alatt eldöntik, hogy érdekes-e számukra amit látnak és tovább mennek-e, amennyiben a teljes képernyős megtekintést ráerőltetjük a felhasználóra megvan az esélye, hogy valóban csak 6 másodpercet fog munkánk megcsodálásával tölteni.

Az előzőekhez hasonlóan itt is a getURL akciót fogjuk használni egy JavaScript függvény meghívására, amit szintén a HTML oldal kódjában fogunk elhelyezni.Az alább látható kódot elhelyezzük a nyitó HTML oldal fejrészében (<head>...</head>), majd a Flash mozinkból egy egyszerű getURL akció segítségével lefuttatjuk a openFullScreen függvényt.

<script language="JavaScript">

<!--



function detectVersion()

{

version = parseInt(navigator.appVersion);

return version;

}



function detectOS()

{

if(navigator.userAgent.indexOf('Win') == -1) {

OS = 'Macintosh';

} else {

OS = 'Windows';

}

return OS;

}



function detectBrowser()

{

if(navigator.appName.indexOf('Netscape') == -1) {

browser = 'IE';

} else {

browser = 'Netscape';

}

return browser;

}



function FullScreen(){



var adjWidth;

var adjHeight;



if((detectOS() == 'Macintosh') && (detectBrowser() == 'Netscape')) {

adjWidth = 20;

adjHeight = 35;

}

if((detectOS() == 'Macintosh') && (detectBrowser() == 'IE')) {

adjWidth = 20;

adjHeight = 35;

winOptions = 'fullscreen=yes';

}

if((detectOS() == 'Windows') && (detectBrowser() == 'Netscape')) {

adjWidth = 30;

adjHeight = 30;

}

if(detectVersion() < 4) {

//hiba esetén megjelenő oldal

self.location.href = 'error.html';

} else {

var winWidth = screen.availWidth - adjWidth;

var winHeight = screen.availHeight - adjHeight;

var winSize = 'width=' + winWidth + ',height=' + winHeight;

var thewindow = window.open('windowversion.html', 'WindowName', winSize);

thewindow.moveTo(0,0);

}

}



function openFullScreen(){

if((detectOS() == 'Windows') && (detectBrowser() == 'IE')) {

//az URL és az ablak tulajdonságainak megadása

window.open('mainpage.html','full_screen','fullscreen=yes');

} else {

onload=FullScreen();

}

}

// -->

</script>

Gondoskodnunk kell a teljes képernyős ablakunk bezárásának egyszerű lehetőségéről, hogy a felhasználónak ne kelljen az ALT+F4 billentyűkombinációt használni oldalunk bezárásához, ez ugyanis tovább ronthatja oldalunkról alkotott véleményét, amennyiben az nem elég meggyőző.

Tehát készítsünk egy gombot és helyezzük el valahol az oldalunkon, leginkább a jól megszokott jobb felső sarokban, ugyanis a látogató először itt fogja keresni azt. Az alábbi JavaScript kódot helyezzük el a teljes képernyőn megnyitott HTML oldalunk fej részében és az előzőekhez hasonló módon futtassuk le a closeFullScreen függvényt, amikor a felhasználó a gombra kattint.

<script language="JavaScript">

function closeFullScreen() {

window.opener=self;

window.close();

}

</script>

Ha a megnyitott oldal tartalma nem tölti ki a teljes képernyőt és nem szükséges, hogy gördíthető legyen, ajánlott eltüntetni a gördítősávot a lap széléről, hogy ne rontsa az oldalunk megjelenését. Ehhez az oldal törzsében (<body>...</body>) kell megadni a scroll="no" paramétert.

 
 
 
 

© Devnet.hu. A segédletek semmilyen formában nem másolhatók, publikálhatók a Devnet.hu és a szerzők közös írásos engedélye nélkül.
 
. .. : Swf.hu 1.0 archívum : Swf.hu főoldal >>> : .. .