Webmajstori.Net Newsletter         > Forwardiraj prijatelju
       > Arhiva
       > Ispisi se
       > Marketing
 Pretplatnika: xxxx
Primjerak #52 - 15. Listopad. 2003 


Pozdrav webmajstori!

Na siteu je objavljen vodic Relativno i apsolutno pozivanje Flash objekata pomocu ActionScripta autora Vlahe Soletica. Vodicu govorio o hijerarhiji u Flashu i, vezano uz hijerarhije razina, o tome zasto i kako pozivati Flash objekte.

"Pametni" popup-ovi u Flashu pomocu JavaScripta
Napisao: Vlaho Soletic - SHoLa © 2001 - 2003

Kontrolirajte ucitavanje podataka u Flash filmove pomocu JavaScripta. Ako ste se oduvijek pitali kako manipulirati Flashom bez upotrebe dinamickih ASP ili PHP skripti, ovdje cete saznati nesto o tome.

Flash omogucuje zavidnu interakciju korisnika i prezentacije (ili Flash sitea) putem svog Flash playera koji se integrira u browser kada Flash objekt ubacimo u sirov HTML kôd. Player izvrsava funkcije sadrzane unutar .swf objekta.

Prije nekog vremena prijatelj mi je natuknuo da bi bilo zgodno kada bi Flash znao kada ga gledamo, a kada ne, odnosno kada je prozor browsera s Flash animacijom u fokusu, a kada nije. To mi je dalo ideju za ovaj vodic.

Zasto bi nam to bilo vazno? Na primjer, kada prezentacija/site unutar sebe ima sadrzan glazbeni loop, muzika se cuje bez obzira na to je li prozor browsera aktivan ili u pozadini. Muzika moze biti dobra, ali ako ucitamo jos koji Flash film, dolazi do problema: dva glazbena loopa unutar dva razlicita prozora ne mogu egzistirati. Normalno, sve se moze izbjeci iskljucivanjem muzike u neaktivnom prozoru ako je to moguce.

Mogu navesti jos jako puno primjera, a zajednicka im je kontrola Flash filma vanjskim utjecajem, dakle bez interakcije sa samim Flash objektom.


Flash i JavaScript

U ranijem clanku o izradi Flash bannera pokazali smo kako kontrolirati browser iz Flash ActionScripta preko JavaScripta.

Na sljedecem primjeru pokazat cemo kako kontrolirati browser pritiskom na Flash gumb unutar prezentacije:

on (release) 
{ getURL("javascript:self.close()") }

Gumbu u Flash filmu pridijelili smo gore navedenu akciju. Akcija ce preko getURL naredbe izvrsiti JavaScript i zatvoriti prozor koji promatramo.

Ovo je jedna od najjednostavnijih metoda izvrsavanja JavaScripta unutar Flash filma. Postoje i kompliciranije metode upotrebom akcije fscommand, ali mi se u ovom tekstu necemo baviti njima.

Kako vidimo, Flash moze pozvati JavaScript funkciju i time kontrolirati browser, ali postavlja se pitanje: je li moguce i obrnuto, tj. kontrolirati tijek Flash filma pomocu browsera i JavaScripta?


Kako upravljati Flashom preko JavaScripta

JavaScript ne moze preuzeti kontrolu nad Flashom i njegovim playerom kao sto to moze npr. PHP, ali zato moze mijenjati varijable unutar Flasha i time odrediti tok animacije. Sama kontrola jednostavna je i prikazat cemo je na dva primjera.

Primjer 1:

Napravite scenu u Flashu koja ce sadrzavati dinamicko tekstualno polje. U polje upisite jednostavan tekst. Varijablu polja (var) nazovite 'tekst'. Samo ime instance nije nam potrebno i ne morate ga kreirati.

Film spremite kao ''tekst.fla'' i pomocu naredbe Publish kreirajte .swf file.

Svoj Flash objekt ubacite u HTML stranicu, a nakon toga u tag <OBJECT> dodajte sljedeci atribut:

ID="mojTekst"

Unutar <EMBED> taga dodajte:

NAME="mojTekst" swLiveconnect=true

Ovi su atributi potrebni radi kompatibilnosti s Netscapeom.

Izgled cjelokupnog Flash objekta:

<OBJECT
id="mojFilm"


classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/ shockwave/cabs/flash/swflash.cab#version=6,0,29,0"
width="550" height="400">
<PARAM name="movie"
value="tekst.swf">
<PARAM name="quality" value="high">

<EMBED name="mojFilm"
src="tekst.swf"
quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer"
type="application/x-shockwave-flash" width="550" height="400"
swLiveconnect=true>

</EMBED> </OBJECT>

Sada mozemo u <HEAD> dio HTML-a dodati JavaScript koji ce mijenjati varijablu 'tekst' (dinamickog tekstualnog polja) unutar naseg Flash filma.

<SCRIPT language="JavaScript"
type="text/JavaScript"> <!-- function FlashTekst(mojTekst){ window.document.mojFilm.SetVariable("tekst",
mojTekst); } --> </SCRIPT>

Funkciju FlashTekst() pozvat cemo klikom na gumb unutar HTML dokumenta tako da bilo gdje unutar tijela HTML dokumenta, odnosno unutar <BODY>...</BODY> tagova, unesete:

<INPUT
type="button" value="Pritisni i promijeni tekst" onClick="FlashTekst('Tekst
se promijenio...'
)">

Ako pokrenete stranicu u browseru i kliknete gumb, promijenit cete tekst u Flash filmu. Jednostavno!

Primjer 2:

Vratimo se prici s pocetka i osluskivanju Flasha o stanju maticnog browsera. Za primjer cemo koristiti vec napravljeni Flash film sa svojim tekstualnim poljem. Promjenljiva varijabla polja i dalje je 'tekst'. <OBJEKT> unutar HTML kôda takodjer se ne mijenja.

JavaScript u <HEAD> dijelu dokumenta promijenjen je u:

<SCRIPT language="JavaScript"
type="text/javascript"> <!-- function FlashTekst(aktivan){
if (aktivan){ window.document.mojFilm.SetVariable("_root.tekst",
"Prozor je aktivan"); } else { window.document.mojFilm.SetVariable("_root.tekst",
"Prozor je u pozadini"); } } --> </SCRIPT>


Nasa funkcija FlashTekst() sada ovisno o stanju prozora browsera mijenja tekst unutar Flash filma u Prozor je aktivan ili u Prozor je u pozadini.

Kljucni atributi nalaze se unutar <BODY> taga koji detektiraju je li prozor browsera zaista aktivan ili nije:

<BODY onFocus="FlashTekst(true)"
onBlur="FlashTekst(false)">

Gumb je nestao jer nam vise ne treba.

Za provjeru postavite neki prozor iznad browsera i zamijenite im mjesta.

Varijablu tekst namjerno sam pozvao kao '_root.tekst', iako sam je mogao pozvati kao i u prijasnjem primjeru, jednostavno 'tekst'. Poanta je da se staza do promjenljive varijable definira na isti nacin kao i u Flashu.

Ovo je jednostavan primjer promjene varijable u Flash filmu. Moramo napomenuti da se na ovaj nacin moze mijenjati svaka varijabla unutar Flasha, a ne samo dinamicka tekstualna polja.

Na primjer, recimo da smo u Flashu definirali varijablu '_root.mojaVarijabla'. Na bilo koju instancu objekta mozemo 'zalijepiti' akciju:

//ActionScript:
onClipEvent (enterFrame) { if (_root.mojaVarijabla == "mojTriger") {
_root.gotoAndPlay("start"); } else { _root.stop(); } }

Time nam objekt ispituje dogadjaj ovisan o JavaScriptu koji se nalazi izvan Flash filma i koji je zaduzen za mijenjanje sadrzaja varijable:

<SCRIPT language="JavaScript">
window.document. mojFilm.SetVariable('_root.mojaVarijabla' "mojTriger");
</SCRIPT>

Nemojte zaboraviti da kôd koji je lomljen kao u gornjem primjeru napisete u jednoj liniji. Kôd lomimo zbog grafickih nemogucnosti prikaza kompletne linije kôda.


Za kraj + privitak

Kako smo mogli vidjeti, brojne su mogucnosti upravljanja Flash objektom iz samog HTML kôda.
Kombinirajuci tekstualna polja HTML kôda i JavaScripta jednostavno mozemo poslati podatke Flash filmu, mijenjajuci tako osnovne parametre tijeka animacije.

Takodjer, pomocu dinamickog HTML-a Flash vise nije ogranicen svojim playerom, vec se u potpunosti integrira u browser, mijenjajuci svoje okruzje prema potrebi, bez upotrebe dinamickih skripti kao sto su ASP ili PHP.

Sve primjere skupili smo u .zip datoteku. Primjeri ukljucuju HTML stranice i .fla i .swf Flash datoteke spremne za rad. Komentari Flasha nalaze se unutar komentara layera.


O autoru:

Vlaho Soletic - SHoLa (shola@net.hr) - svoje slobodno vrijeme trati s Photoshopom, webom i Flashom. Autor je www.dubluesfest.coms.ph i www.revolt.co.ba/shola, a uskoro i samog www.revolt.co.ba. Obozava prckati oko audio i video produkcije te se nada da ce mu to donijeti brdo love u buducnosti.


Novosti s foruma
Novosti sa foruma

 TemaNapisaoVrijeme
 skripta - random linksMarac Varac19:24
Problem koji treba rijesi...Marac Varac18:35
 Php Nuke: Registracija cl...cybermaster18:20
onMouseOver - onMouseClic...ellna15:10
 "Kolko bi ovo mogo n...bbsantic14:51
 frameset - kako "zal...robi_bobi12:57
 Visnja pomagaj!!!neo2609:01
 citanje txt fajla ASPhaf01:59
Hahahahahahahaha. Tragicn...Zorica22:00
HOST.SK licemjerifaraguna21:56
 FirewallMarac Varac20:26
Obrada glazbe u Hrvata...Marac Varac20:24
 ASP_Mail_Attachmentnristic20:17
 www.veritas.com.hrMarac Varac20:14



Preporucite nas prijateljima!

Sigurno imate kolegu ili kolegicu webmastera - pomognite im da doznaju za ovaj newsletter. Biti ce vam zahvalni, jednako kao i mi :) Hvala.


Arhiva

Prosla izdanja newslettera pogledajte u arhivi.


Registriraj domenu!

Registracija komercijalnih domena po najpovoljnijim cijenama u zamlji!
Cijena 95 kn

Za provjeru / narudzbu .com, .net i .org domena koristite sljedecu formu:

WWW .



a za naruzdbu ostalih domena kliknite na grafiku:

biz infocc tv ws






NOVI LINKOVI


ABC Amber PDF Converter - pretvorba PDF-a u tekst

Koristan program s kojim mozete 'izvaditi' tekst iz PDF dokumenta. Podrzan je export u gotovo sve tekst formate kao i u HTML.

Preporucite nam neki dobar webmasterski site, servis ili program! Dovoljan je url i jedna-dvije recenice na:
kontakt@webmajstori.net

TOP 5 WM PROGRAMA

1. Fortune3 Web Design, Shopping Cart & ECommerce Wizard584
2. HTML Kit490
3. Dreamweaver380
5. Free HTML Editor216
5. HotDog Professional210
 vise...

MAPA WEBA


Clanci

.
Vodici
.
Recenzije
.
Kolumna
.
Cesta pitanja
.
Pojmovnik
.
Webmaster Resursi

TKO SU WEBMAJSTORI

Ekipa

.
Pridruzite nam se!

OSTALO

Marketing

.
Kontakt

VASA PRETPLATA


Webmajstori.net Newsletter
ISSN 1334-0182

Izdavac:
logIT Internet Usluge
Granice 8, 10 000 Zagreb

---------------------------------
Prijavljeni ste sa ovom adresom:
<>

ISPIS:
Ako se zelite ispisati iz newslettera, slijedite ovaj link: ISPIS

vrh »

© Copyright 2001 - 2003. logIT Internet Usluge