一、在JavaScript中调用Flex方法
在Flex中可以用ExternalInterface来调用Flex的方法,途径是通过在Flex应用可调用方法列表中添加指定的公用方法。在Flex 应用中通过调用addCallback()可以把一个方法添加到此列表中。addCallback将一个ActionScript的方法注册为一个 JavaScript和VBScript可以调用的方法。addCallback()函数的定义为:addCallback(function_name:String, closure:Function):void,function_name参数就是在Html页面中脚本调用的方法名。closure参数是要调用的本地方法,这个参数可以是一个方法也可以是对象实例。
举个例子:
import flash.external.*;
public function myFunc():Number {
return42;
}
public function initApp():void {
ExternalInterface.addCallback("myFlexFunction",myFunc);
}
</mx:Script>
那么在Html页面中,先获得SWF对象的引用,也就是用<object .../>声明的Swf的Id属性,比如说是MyFlexApp。然后就可以用以下方式调用Flex中的方法。
function callApp() {
var x = MyFlexApp.myFlexFunction();
alert(x);
}
</SCRIPT>
<button onclick="callApp()">Call App</button>
二、在Flex中调用 JavaScript
你可以调用Html页面中的JavaScript,通过与JavaScript的交互,可以改变Style,调用远程方法。还可以将数据传递给Html页 面,处理后再返回给Flex,完成这样的功能主要有两种方法:ExternalInterface()和navigateToUrl()。在Flex中调用JavaScript最简单的方法是使用ExternalInterface(),可以使用此API调用任意JavaScript,传递参数,获得返回值,如果调用失败,Flex抛出一个异常。ExternalInterface封装了对浏览器支持的检查,可以用available属性来查看。ExternalInterface的使用非常简单,语法为:flash.external.ExternalInterface.call(function_name: String[, arg1, ...]):Object;参数function_name是要调用的JavaScript的函数名,当然也可以为function (){alert(0)}匿名函数对象,后面的参数是JavaScript需要的参数。
Flex应用中,添加如下方法:
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
import flash.external.*;
public function callWrapper():void {
var f:String = "changeDocumentTitle";
var m:String = ExternalInterface.call(f,"New Title");
trace(m);
}
</mx:Script>
<mx:Button label="Change Document Title" click="callWrapper()"/>
</mx:Application>
html页面中有如下函数定义:
function changeDocumentTitle(a) {
window.document.title=a;
return"successful";
}
</SCRIPT>
相关推荐
android js 互调
webview和js互调
java和js互调
android与JS互调,android与JS互调,android与JS互调
wpf内嵌网页,实现与JS的互调的一个小Demo。 因为项目中安装了Cefsharp所以比较大。
整理好的Unity C#与JS互调 脚本互调,原理较简单!示例就三个脚本,简单明了!
Android与js互调的Demo,希望可以帮助到大家! 对应博客地址:http://blog.csdn.net/qq_34947883/article/details/77990527
在项目中有时候需要APP和Js之间相互调用方法来实现某些功能,本例子主要介绍iOS和Js是怎么实现相互调用对方的方法。
QT和JavaScript互调,代码和文档
android原生与js互调 android原生与js互调 android原生与js互调
NULL 博文链接:https://yangactive.iteye.com/blog/1561610
android与Js互调源码,切记不能导入project,只能导入module 更多查看我的博客:https://blog.csdn.net/xiayiye5/article/details/97025136
Android 中通过WebView和HTML实现JS交互 Android(Java)与JavaScript(HTML)交互有四种情况: 1) Android(Java)调用HTML中js代码 2) Android(Java)调用HTML中js代码(带参数) 3) HTML中js调用Android...
android与Js互调源码,切记不能导入project,只能导入module 更多查看我的博客:https://blog.csdn.net/xiayiye5/article/details/97025136
js和swift互调
1.本文采用的是android调用assest中的本地.html文件,webview展示(加载网络的html效果是一样的,把url替换掉就行) 2.包含本地.html文件加载,点击.html控件,Android端响应 3.包含本地.html文件加载,点击.html... ...
QT与JavaScript互调文档
Android与Js互调,Java和Js互相调用例子,博客地址:https://blog.csdn.net/dreams_deng/article/details/104738687
QT与JavaScript互调是通过QWebFrame的两个函数来实现的:addToJavaScriptWindowObject()将QObject对象传给JS,这样JS就能调用QObject的public slots函数。QT通过evaluateJavaScript()直接调用JS中的函数
在VS2013中使用JNI进行JAVA和C++之间的互调,这两个文件只是项目中的一部分,仅供参考