• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1073
  • Last Modified:

insert an AS3 code to a Close Button

I am trying to create a close button on a transparent flash movie and it is not working. My movie is playing in an html page in its own window. I inserted a button in a layer and add this code :

. When the button is pressed I want to close the flash movie. How do I do this?

Thanks in Advance!
this.close_btn.addEventListener(MouseEvent.CLICK,closeall);
function closeall(event:MouseEvent):void
Fscommand ("quit")

Open in new window

0
lomac
Asked:
lomac
  • 5
  • 3
1 Solution
 
deepanjandasCommented:
try this:

this.close_btn.addEventListener(MouseEvent.CLICK,closeall);  
function closeall(event:MouseEvent):void  
ExternalInterface.call("javascript:window.close();");
}

Warm Regards
Deepanjan Das
http://deepanjandas.wordpress.com 
0
 
lomacAuthor Commented:
Many thanks for your reply, I have these errors

Scene 1, Layer 'Actions', Frame 300, Line 2      1126: Function does not have a body.
ComponentShim (Compiled Clip), Line 1      5000: The class 'fl.controls.Button' must subclass 'flash.display.MovieClip' since it is linked to a library symbol of that type.

what should i do?
0
 
deepanjandasCommented:
Try this:

// the function that runs when after button was clicked
function closeall(e:MouseEvent):void {
  var req:URLRequest = new URLRequest("javascript:window.close();");
  navigateToURL(req, "_self");
}
close_btn.addEventListener(MouseEvent.CLICK,closeall);

The error that you forwarded has nothing to do with the code i provided.
To debug that you need to share some more of your code snippet.

Warm Regards
Deepanjan Das
http://deepanjandas.wordpress.com 
0
Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

 
lomacAuthor Commented:
here is my flash movie
simple-transparent-ads.zip
when i click on close button, i want to close only the flashmovie
not the entire window of the web page where it's included
thanks for your help
0
 
deepanjandasCommented:
Hi,
There is no such direct way.
You can call a javascript function from flash which will hide the flash object.

Warm Regards
Deepanjan Das
http://deepanjandas.wordpress.com 
0
 
lomacAuthor Commented:
Good evening,
After many research, i confirm that there is no direct way; but, please, how could i do this ?
is there any code to add in the html?
warm regards
0
 
deepanjandasCommented:
Hi,
The best way is to use SWFObject Javascript to embed flash.

Now that your flash gets embed into a div ('myContent' as per the example provided in the above link), you can control the visibility of the dic using getElementById.

Now in html write a javascript function like this:
function hideFlash(){
document.getElementById('myContent').style.visibility='hidden';
// check this for more info: http://www.webreference.com/js/tips/001215.html
}

Then call this function from flash using ExternalInterface.
ExternalInterface.call('hideFlash');

Please keep a note:
The AllowScriptAccess should be set to 'always'. Check this for more info.

Warm Regards
Deepanjan Das
http://deepanjandas.wordpress.com 
0
 
deepanjandasCommented:
Did the solution helped you. If yes, kindly mark this as solved.

Warm Regards
Deepanjan Das
http://deepanjandas.wordpress.com 
0

Featured Post

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

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