Toon posts:

[FLASH] Javascript aansturen vanuit Flash

Pagina: 1
Acties:
  • 114 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Hey iedereen,

ik ben al enige tijd aan het werken aan iets dat je best kan vergelijken met een lightbox. Een popup zonder dat het een popup is eigelijk. Vroeger moest je alle inhoud in de pagina steken, maar nu kan je eender welke pagina incl. tekst, beelden,... extern erin laden omdat het gebruik maakt van een iframe. Dit is op zich al een leuk iets dat je gemakkelijk zonder flash ook kan gebruiken.

Wat ik nu wil doen is hetzelfde openen vanuit flash! Dat moet zeker kunnen, maar mijn kennis mbt javascript in combinatie met flash rijkt echter niet zover. Ik heb al erg veel geprobeerd en in de bijlage vindt je ook een ver uitgewerkt voorbeeld. Het is dus de bedoeling dat de html pagina bovenop de flash movie komt te liggen.

Dus als iemand me even zou kunnen verduidelijken hoe ik vanuit flash hetzelfde resultaat kan krijgen dan vanuit de html pagina zou dat geweldig zijn.

Nog even vermelden dat dit zeker geen post is zoals je er hier soms ziet waarin de auteur al het werk door iemand anders wil laten doen. Absoluut niet! Dit is op zich al een leuk dingetje, ik wil het alleen nog wat uitbreiden, maar zit voorlopig aan mijn limiet.

Met dank aan alle mensen die hier tot nu toe al aan meewerkten.

Alvast erg bedankt!

Bijlage: http://rapidshare.com/files/71723195/frameBox.zip

  • André
  • Registratie: Maart 2002
  • Laatst online: 27-01 13:33

André

Analytics dude

En vertel eens wat je al geprobeerd hebt dan? Wat ging er mis en wat lukte er niet? Je weet hoe je javascript vanuit Flash kunt aanspreken?

Verwijderd

Topicstarter
Wel ik heb geprobeerd om via GETurl in flash de js functie te activeren die ik bij in de pagina heb gestoken, maar wat ik net verkeerd doe weet ik niet. Stuur ik de verkeerde parameters mee? Hoe kan ik enkel de link aanspreken die slaat op de div? Ik weet het niet meer, misschien ben ik er ook al iets te lang aan een stuk mee bezig... :)

  • XangadiX
  • Registratie: Oktober 2000
  • Laatst online: 18-01 18:46

XangadiX

trepanatie is zóó kinderachtig

getURL("javascript:mijnfunctie('parameter', 'parameter', 'parameter'");

moet gewoon werken, maar ik vind het een wat zwakke topicstart

Stoer; Marduq


Verwijderd

Topicstarter
wel dat is het niet!

in dit voorbeeld ligt het net even anders (als je de zip bekijkt zal je dat zien) en ik weet niet hoe ik het moet aanpakken en als jij dat een zwak topic vind is dat jou idee, maar een forum dient dacht ik toch nog altijd om elkaar te helpen nietwaar? en dat er geen domme vragen alleen domme antwoorden zijn is bij deze ook nog eens bewezen.

ik zou het dus nog altijd erg apprecieren mocht iemand mij kunnen helpen, waarvoor alvast bedankt.

Verwijderd

Topicstarter
Bedankt, maar nu zit ik nog met het probleem.

HTML code:

<a href="#lightbox1" rel="lightbox1" class="lbOn">Voorbeeld vanuit html</a>

Werkt vanuit html maar ik zou dit willen aanroepen vanuit mijn flash.


Dit werkt niet:

ActionScript:

knop_btn.onRelease = function(){ getURL('#lightbox1');}


Ik krijg het gewoon niet aan de praat.

Iemand raad? Thx.

  • André
  • Registratie: Maart 2002
  • Laatst online: 27-01 13:33

André

Analytics dude

En wat als je het complete pad gebruikt? Dus pagina.html#lightbox1?

En kun je hier iets mee?
http://blog.codefidelity.com/?p=18

Verwijderd

Topicstarter
Bij het complete pad wordt gewoon de index pagina opnieuw geladen. En die link die je doorgeeft had ik ook al gevonden, die code verschilt een beetje en mijn kennis gaat niet ver genoeg om daar zelf heel erg veel in aan te passen. Vandaar mijn vraag hier, je ziet ook dat die code reeds in mijn voorbeeldje in de bijlage verwerkt zit.

Toch bedankt!

  • _eXistenZ_
  • Registratie: Februari 2004
  • Laatst online: 28-01 17:38
XangadiX schreef op vrijdag 23 november 2007 @ 18:22:
getURL("javascript:mijnfunctie('parameter', 'parameter', 'parameter'");

moet gewoon werken, maar ik vind het een wat zwakke topicstart
Haakje vergeten ;)

getURL("javascript:mijnfunctie('parameter', 'parameter', 'parameter')");

There is no replacement for displacement!


Verwijderd

Topicstarter
Het is enkel deze regel die ik moet kunnen oproepen vanuit flash

<a href="#lightbox1" rel="lightbox1" class="lbOn"></a>

Verwijderd

Topicstarter
Ik ben nu zeer dichtbij het kan niet anders.

Deze html regel heb ik vervangen:

<a href="#lightbox1" rel="lightbox1" class="lbOn">Voorbeeld vanuit html</a>


Door dit in flash:

knop_btn.onRelease = function(){
getURL("javascript:LightboxDelegate('#lightbox1','lightbox 1','lbOn')");
}


En opgevangen met dit javascript:

<script type="text/javascript"> function LightboxDelegate(url,lightbox1,lbOn) {
var objLink = document.createElement('a');
objLink.setAttribute('href',url);
objLink.setAttribute('rel',lightbox1);
objLink.setAttribute('class',lbOn);
Lightbox.prototype.start();
}
</script>


Ik krijg nu geen fouten meer op de pagina, wat is er nog verkeerd?

Nogmaals bedankt.

  • tonyisgaaf
  • Registratie: November 2000
  • Niet online
Kijk maar eens in deze PDF (officiële AS2 manual, voor AS3 maar even de adobe livedocs site checken), pagina 621 "About the External API". Succes!

NL Weerradar widget Euro Stocks widget Brandstofprijzen widget voor 's Dashboard


Verwijderd

Creative manier met geturl, maar daarvoor is external interface bedoelt, als je flash 8 minimaal hebt in elk geval:

ExternalInterface.call('JSfunctienaam','parameters')

een goede test is het volgende actionscript:

code:
1
2
import flash.external.*;
ExternalInterface.call('alert','dit werkt!');



http://www.adobe.com/devn...xternal_interface_05.html

Verwijderd

Topicstarter
bedankt, ben er volop mee bezig, is weer best ingewikkeld
Pagina: 1