Solved

insert an AS3 code to a Close Button

Posted on 2010-11-11
8
996 Views
Last Modified: 2012-05-10
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
Comment
Question by:lomac
  • 5
  • 3
8 Comments
 
LVL 17

Expert Comment

by:deepanjandas
ID: 34117520
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
 

Author Comment

by:lomac
ID: 34118565
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
 
LVL 17

Expert Comment

by:deepanjandas
ID: 34118816
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
 

Author Comment

by:lomac
ID: 34119503
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
How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

 
LVL 17

Expert Comment

by:deepanjandas
ID: 34131178
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
 

Author Comment

by:lomac
ID: 34131239
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
 
LVL 17

Accepted Solution

by:
deepanjandas earned 500 total points
ID: 34133395
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
 
LVL 17

Expert Comment

by:deepanjandas
ID: 34245673
Did the solution helped you. If yes, kindly mark this as solved.

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

Featured Post

Free Trending Threat Insights Every Day

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

Join & Write a Comment

Whether you’re a college noob or a soon-to-be pro, these tips are sure to help you in your journey to becoming a programming ninja and stand out from the crowd.
This article discusses four methods for overlaying images in a container on a web page
In this tutorial viewers will learn how to embed videos in a webpage using HTML5. Ensure your DOCTYPE declaration is set to HTML5: "<!DOCTYPE html>": Use the <video> tag to insert a video. Define the src as the URL of your video; this is similar to …
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…

758 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

16 Experts available now in Live!

Get 1:1 Help Now