Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1307
  • Last Modified:

Trigger Javascript at end of swf/flash movie

I have a swf move in my HTML web page and in the page there is a javascript function call MovieEnd(). Is there a way that I can trigger this javascript function at the end of the movie from within the swf? How would I go about it? Thanks,
0
wilcor14
Asked:
wilcor14
1 Solution
 
ChristoferDutzCommented:
With the Flex-Ajax-Bridge you can call JavaScript functions in the page containing the SWF.
I guess this is no Flex-Feature so I guess this should work with all ActionScript3 solutions.

http://livedocs.adobe.com/flex/3/html/help.html?content=ajaxbridge_1.html
0
 
wilcor14Author Commented:
Great, I think this is what we need.
Also just found out that in the flash file, we have an .FLV movie on the first frame. What we want to do is call the javascript at the end of the FLV movie but how do we know it is done? Thanks again.
0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
rascalpantsCommented:
this all depends on how the FLV is being played...    can you look in the code and see what it being used to play the FLV...  normally something like this...

var theNS:NetStream = new NetStream( theNetConnection );
theNS.play( "streamToPlay" );



to detect if the FLV has ended, you can use a few different methods...  but you will need to setup an event listener and check for the NET_STATUS like the below...



rp / ZA





 
var theNC:NetConnection = new NetConnection();
 
//  put code here to check for NetConnection if you want
 
var theNS:NetStream = new NetStream( theNC );
theNS.addEventListener( NetStatusEvent.NET_STATUS, ns_EventHandler );
 
private function ns_EventHandler( evt:Event ):void
{
  var evtCode:String = evt.info.code;
 
  if( evtCode == "NetStream.Play.Complete" )
  {
    trace(" call ExternalInterface here ");
  }
 
}

Open in new window

0
 
wilcor14Author Commented:
rascalpants,
Thank you so much for your time. Just spoke with my developer and he gave me the code below this message. Based on what he gave me, how could we call a javascript funcation in the html page that the swf is embeded in? Would something like this work:
var url:URLRequest = new URLRequest(javascript:myfunction(););
navigateToURL(url);
 

import fl.video.VideoEvent;
flvp.addEventListener(VideoEvent.STOPPED_STATE_ENTERED, onVideoStopped);
function onVideoStopped(evt:VideoEvent):void
{
    var url:URLRequest = new URLRequest("http://google.com");
    navigateToURL(url, "_parent");
}

Open in new window

0
 
rascalpantsCommented:

others have posted a link to some reference information above, but here is the code if you need it...


you first do a check to see if it is available... which means you are in a Browser, instead of the IDE...  then you need to pass the variable to the javascript function...


if you need the round trip example, you can see this question...  

http://www.experts-exchange.com/Software/Photos_Graphics/Web_Graphics/Macromedia_Flash/ActionScript/Q_24371711.html



rp / ZA


 
import fl.video.VideoEvent;
 
//  added rp
import flash.external.ExternalInterface;
var extIntAvailable:Boolean = ExternalInterface.available;
var theVariable:String = "rascalpants rocks!";
 
 
flvp.addEventListener(VideoEvent.STOPPED_STATE_ENTERED, onVideoStopped);
function onVideoStopped(evt:VideoEvent):void
{
    // added rp
    if( extIntAvailable )
    {
       ExternalInterface.call( "functionNameInJavaScript", theVariable );
    }
}

Open in new window

0
 
rascalpantsCommented:


^ bump ^
 

please come back and finish up this question...


thanks,

rp / Zone Advisor
0
 
wilcor14Author Commented:
My apologies for not getting back to you sooner. I was waiting on my developer to make sure it was all good and your code was perfect and works. Thanks so much. You saved me a ton in hours of research and money in not having to pay my developer to research it. Thanks.
0

Featured Post

Upgrade your Question Security!

Your question, your audience. Choose who sees your identity—and your question—with question security.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now