Home  >  Article  >  Web Front-end  >  Call JavaScript or be called by JavaScript

Call JavaScript or be called by JavaScript

高洛峰
高洛峰Original
2016-11-25 13:37:36901browse

1. Calling Flex methods in JavaScript
In Flex, you can use ExternalInterface to call Flex methods by adding specified public methods to the list of callable methods in the Flex application. A method can be added to this list by calling addCallback() in a Flex application. addCallback registers an ActionScript method as a method that JavaScript and VBScript can call. The definition of the
addCallback() function is as follows:
addCallback(function_name:String, closure:Function):void The
function_name parameter is the method name called by the script in the Html page. The closure parameter is the local method to be called. This parameter can be a method or an object instance.

For example:

import flash.external.*;
public function myFunc():Number {
return 42;
}
public function initApp():void {
ExternalInterface.addCallback ( "myFlexFunction",myFunc);
}

Then in the Html page, first get the reference to the SWF object, that is, the Id attribute of the Swf declared with For example, it is MyFlexApp. Then you can call methods in Flex in the following way.

< ;button onclick="callApp()">Call App

2. Call JavaScript in Flex
You can call JavaScript in the Html page. By interacting with JavaScript, you can change the Style and call remote method. You can also pass the data to the Html page, and then return it to Flex after processing. There are two main methods to complete such a function: ExternalInterface() and navigateToUrl().
The easiest way to call JavaScript in Flex is to use ExternalInterface(). You can use this API to call any JavaScript, pass parameters, and get the return value. If the call fails, Flex throws an exception.
ExternalInterface encapsulates checking of browser support, which can be viewed using the available attribute.
ExternalInterface is very simple to use, the syntax is as follows:
flash.external.ExternalInterface.call(function_name: String[, arg1, ...]):Object;
The parameter function_name is the name of the JavaScript function to be called, and the following parameters are Parameters required by JavaScript.
An example of how to call a JavaScript function
In the Flex application, add the following method:


< mx: Application var f:String = "changeDocumentTitle"; var m:String = ExternalInterface.call(f,"New Title");
trace(m); ="Change Document Title" click="callWrapper()"/>

Html page has the following function definition: