Flex Blog

Search:
  • Home
  • Examples
    • Thumb

      Flex Examples

      Check out our Flex Examples!

    • Thumb

      Flash Builder Examples

      Check out our Flash Builder Examples!

    • Thumb

      AIR Examples

      Check out our AIR Examples!

    • Thumb

      Flex Mobile Examples

      Check out our Flex Mobile Examples!

    Adobe® Flex, Adobe® Flash Builder and Adobe® AIR are registered trademarks of Adobe Systems.
  • Components
    • Thumb

      WP Flex Contact Form

      Check out our WP Flex Contact Form!

    • Thumb

      Flash CountDown Plugin

      Check out our Flash CountDown Plugin!

    This is an overview of all our Flash/Flex based Components.
  • Jobs
  • Flex Books
  • Forum
  • Contact Us
Subscribe to Flex BlogSubscribe
  • Examples
  • iOS
Browse > Home / Examples / Call Javascript function from Flex / Flash Builder (AS3)

Call Javascript function from Flex / Flash Builder (AS3)

07 May 2010

Line Break

Author: Roelof (13 Articles) - Author Website

Roelof is a SAP Consultant specialized in Front-End development. In his spare free time he is either developing on the web, playing basketball, watching soccer or traveling. He is also the co-owner of Flex-Blog.com.

This are actually two examples in one. First I will show how to call a Javascript function from your Flex Application. The second example will be a direct execution of Javascript code from your AS3.

Calling Javascript can be done easily using the ExternalInterface class. I have used this in my Flex Comment Form to refresh the screen after the comment is placed.

What’s possible?

ActionScript -> Javascript (HTML)

  • Call any JavaScript function (with any number of arguments, any names and any data types).
  • Receive a return value from the Javascript function.

Javascript (HTML) -> Actionscript

  • Call any ActionScript function (using the standard function notation).
  • Receive a return value from the ActionScript function.

Please note that you cannot use the ExternalInterface using AIR.

Example

I will start of with an example. I have added this Javascript function to the header of the HTML file generated with the release (view source).

1
2
3
4
5
<script language="javascript">
function myfunction(message) {
   alert(message);
}
</script>

This Javascript function will be called if you press on the button of the Flex component below.

Calling Javascript Function from Flex.

You probably wonder what Actionscript code is behind this. It’s actually very simple. I have created this function, which eventually calls the Javascript function with 1 parameter.

1
2
3
4
5
6
7
8
9
private function showJavascriptAlert():void {
    var javascriptFunction:String = "myfunction";
    var message:String = message.text;
    if(ExternalInterface.available)
    {
        // call the javascript function!
        ExternalInterface.call(javascriptFunction, message);
    }          
}

Calling Javascript from Flex (no function).

It is possible to create a Javascript function to call from your Flex Application, but it’s not necessary. Within Actionscript 3.0 it is possible to execute Javascript code directly. Sometimes it’s just overkill to create a complete Javascript function for something easy. Like for example showing an alert. This example is not using a JavaScript function.

Example 2

Here is the example. (use right mouse click -> View Source)

Source Code

1
2
3
4
5
6
7
8
private function showJavascriptAlert():void {
    var message:String = message.text;
    if(ExternalInterface.available)
    {
        // call the javascript function!
        ExternalInterface.call("alert", message);  
    }          
}

I did not write an example about calling ActionScript functions from JavaScript. If you would like to see that example leave a comment!

Related posts:

  1. Easy Unix Time Function
  2. Connect to Google Analytics from Flash Builder
  3. Using ASDoc as an External Tool in Flash Builder 4
  4. TinyURL usage with Flash Builder
  5. Using States in Flash Builder

Written by Roelof · Filed Under Examples 

Was this post useful to you?

Please rate this post, follow us @ twitter, or link to this page from your website!

1 Star2 Stars3 Stars4 Stars5 Stars (7 votes, average: 4.43 out of 5)
Loading ... Loading ...

b82258269fecb00157c244b3f1ca5a87delicious

Comments

4 Responses to “Call Javascript function from Flex / Flash Builder (AS3)”

  1. a_[w] on May 11th, 2010 5:44 am

    Hi!
    Try JSInterface library
    http://code.google.com/p/jsinterface/
    Using it, you can call JavaScript function with native syntax. For your example function calling will look like:
    JSinterface.initialize();
    JSInterface.window.myfunction();
    It is very useful, if you are expecting high-level integration with JavaScript.

  2. Roelof on May 18th, 2010 2:03 pm

    Thanks for this addition!

  3. Hash on November 1st, 2010 11:17 pm

    how to pass multiple arguments

  4. Asha on May 31st, 2011 9:52 am

    It is helpful, would like to see javascript calling actionscript functions.

Get Adobe Flash player

  • +1?

  • Support Flex Blog!

  • $ 13 raised
    • 2012/01/13 8:22 PM Russell Brown donated $ 3.00
    • 2011/10/31 4:43 PM Steve Dakin donated $ 5.00
    • 2011/05/11 3:37 PM Roelof Albers donated $ 5.00
  • Stay in touch!

  • Popular Tags

    • AdvancedDataGrid
    • AIR
    • ArrayCollection
    • baseColor
    • Button
    • CursorManager
    • DataGrid
    • Dynamic
    • Effects
    • File
    • FileStream
    • Flash Builder
    • Flash Builder 4
    • Flex 4
    • Flex Mobile
    • Framework
    • Icon
    • Image
    • itemRenderer
    • LinkBar
    • Mobile
    • PHP
    • ProgressBar
    • Repeater
    • Style
    • SWIZ
    • Timer
    • Tree
    • Twitter
    • ViewStack
  • Advertisements

  • Recent Posts

    • Spooky Frenzy – iPad Game
    • Fountain Example
    • Reading & Writing files in Adobe AIR
    • CheckBox in List using MobileIconItemRenderer for Flex Mobile
    • Data Dependent decoratorClass in MobileIconItemRenderer Example
    • Flex 4 Resize Effect Example
    • Jump to next field using the Focus Manager
    • Searching Data using a Class Example
    • Flex Mobile: Two finger tap gesture to toggle actionBar visibility in a View (AIR for Android)
    • TabbedMobileApplication Example in Flex Mobile (AIR for Android)
  • Categories

    • Examples
    • Guest Poster
    • iOS
  • Archives

    • September 2011
    • July 2011
    • May 2011
    • March 2011
    • February 2011
    • November 2010
    • October 2010
    • September 2010
    • August 2010
    • June 2010
    • May 2010
    • April 2010
    • March 2010
    • February 2010
    • January 2010
    • December 2009
    • November 2009
    • October 2009
    • March 2009
    • February 2009
  • Blogroll

    • Adobe Flex Jobs
    • NL for Business
  • Meta

    • Register
    • Log in
    • WordPress
    • XHTML

Copyright © 2010 Flex Blog · AdobeĀ® and AdobeĀ® Flex are registered trademarks of Adobe Systems.

WordPress Adobe Flex Adobe Flash Builder Adobe AIR Creative Commons License

  • Popular Posts

    • Progressbar in Datagrid Example 13 votes, average: 5.00 out of 513 votes, average: 5.00 out of 513 votes, average: 5.00 out of 513 votes, average: 5.00 out of 513 votes, average: 5.00 out of 5 (5.00 out of 5)
    • Data Dependant Tree Icon with Tree in AdvancedDataGrid with iconFunction 8 votes, average: 5.00 out of 58 votes, average: 5.00 out of 58 votes, average: 5.00 out of 58 votes, average: 5.00 out of 58 votes, average: 5.00 out of 5 (5.00 out of 5)
    • List Directory with AIR in Flex 4 7 votes, average: 5.00 out of 57 votes, average: 5.00 out of 57 votes, average: 5.00 out of 57 votes, average: 5.00 out of 57 votes, average: 5.00 out of 5 (5.00 out of 5)
    • Flex FlashVars in AS3 Example 7 votes, average: 5.00 out of 57 votes, average: 5.00 out of 57 votes, average: 5.00 out of 57 votes, average: 5.00 out of 57 votes, average: 5.00 out of 5 (5.00 out of 5)
    • Flex Dynamic Chart Example 4 votes, average: 5.00 out of 54 votes, average: 5.00 out of 54 votes, average: 5.00 out of 54 votes, average: 5.00 out of 54 votes, average: 5.00 out of 5 (5.00 out of 5)