一、在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>
相关推荐
Java和JavaScript互调是移动应用开发中的一个重要概念,特别是在Android平台上。Android系统广泛使用Java作为主要的编程语言,而Web内容则通常由JavaScript处理。在许多情况下,开发者需要在原生Android应用中嵌入...
通过这个控件,我们可以利用C#代码控制网页的行为,同时也可以从网页的JavaScript代码中调用C#的方法,实现了C#与JS的互调。 实现C#与JS互调的核心技术是`EvaluateScriptAsync`方法,它允许我们在C#中执行...
这个“iOS和Js互调的简单例子”将为我们揭示这一技术的核心原理和实现方式。 首先,我们要理解的是,iOS应用程序通常使用Swift或Objective-C编写,而JavaScript主要用于Web开发。当在iOS应用内嵌入H5页面时,我们...
这个话题我们将深入探讨WebView与JavaScript的互调机制。 一、WebView简介 WebView是Android和iOS平台上的一个组件,它允许应用加载并显示网页内容。在Android中,WebView是`android.webkit.WebView`类,而在iOS中...
以下将详细介绍Java和JavaScript如何在Android环境下进行互调。 ### 1. Android中的WebView组件 在Android中,我们通常使用`WebView`组件来加载和显示HTML内容。`WebView`不仅能够渲染网页,还提供了与JavaScript...
本话题将深入探讨如何利用Flex实现多级窗口互调,并连接Oracle数据库来动态管理生成的DataGrid。 首先,让我们了解Flex中的窗口组件(Window)。在Flex中,我们可以使用WindowedApplication或Window类来创建独立的...
总结来说,Android与JS互调是通过WebView组件实现的,通过设置JavaScript的启用状态,我们可以方便地在两者之间传递数据和调用方法。这种交互方式为开发者提供了更大的灵活性,可以结合Android的强大力量和...
在移动应用开发中,Android与JavaScript的交互是一个重要的技术环节,尤其在混合开发模式下,它使得原生应用能够利用Web技术实现丰富的用户界面和动态更新。本篇将详细讲解Android与JavaScript互调的原理、方法及...
Unity引擎是一款广泛应用于游戏开发的跨平台工具,它支持多种编程语言,包括C#和JavaScript(Unity中的JS称为UnityScript,但与Web开发中的JavaScript有较大差异)。在Unity项目中,有时开发者可能需要在C#脚本和...
QT和JavaScript互调是现代软件开发中的一个重要技术领域,它允许使用QT库的C++代码与JavaScript脚本进行交互,从而实现更灵活、更动态的用户界面设计。QT是一个跨平台的应用程序开发框架,广泛应用于桌面、移动和...
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
1.本文采用的是android调用assest中的本地.html文件,webview展示(加载网络的html效果是一样的,把url替换掉就行) 2.包含本地.html文件加载,点击.html控件,Android端响应 3.包含本地.html文件加载,点击.html... ...
总结,Android原生与JS互调是混合开发中的关键技术,通过Webview组件,我们可以充分利用两者的优势,实现更丰富的功能。了解并熟练掌握这一交互机制,对提升应用的用户体验和开发效率至关重要。
JavaScript 和 Swift 互调是现代跨平台开发中的一个重要主题,特别是在构建混合移动应用或与 Web 界面交互的原生 iOS 应用时。这两种语言分别代表了 Web 开发和移动应用开发领域的主流技术,而将它们结合在一起,...
QT与JavaScript互调是通过QWebFrame的两个函数来实现的:addToJavaScriptWindowObject()将QObject对象传给JS,这样JS就能调用QObject的public slots函数。QT通过evaluateJavaScript()直接调用JS中的函数
本篇主要介绍如何实现Android与JavaScript的互调,以及在Java和Js之间进行互相调用的方法。 首先,Android中的`WebView`组件是实现Android与JavaScript交互的基础。`WebView`是一个可以加载网页的视图,它可以解析...
总之,Android与JavaScript的互调是通过WebView组件和`addJavascriptInterface()`方法实现的,这为Android应用提供了与Web内容深度集成的能力。了解并掌握这一技术,可以帮助开发者构建功能更丰富的混合应用,同时...