`
nianshi
  • 浏览: 420491 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

Flex和JS间如何通信

    博客分类:
  • Flex
阅读更多

flex提供了和JS通信的方法,使用flexSDK中的ExternalInterface类实现和JS的相互通信。
ExternalInterface有两个方法call和addCallBack

1.call方法即flex中调用外部js的方法,第一个参数为js函数的函数名,字符串格式,后面的参数为该方法的参数,个数和格式都和JS函数参数格式对应
2.addCallBack是flex给JS开放调用方法的函数,第一个参数为JS中调用flex方法时使用的函数名,为字符串格式,第二个参数为Function,即flex中需要开放供JS调用的函数

Flex程序:
Java代码

   1. <?xml version="1.0" encoding="utf-8"?> 
   2. <mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" backgroundAlpha="1" backgroundColor="0xff0000" width="400" height="300" creationComplete="init()"> 
   3.     <mx:Script> 
   4.         <![CDATA[ 
   5.             import mx.controls.Alert; 
   6.             private function init():void 
   7.             { 
   8.                 ExternalInterface.addCallback("flexFunction",flex_function) ; 
   9.                 Alert.show(ExternalInterface.call("jsFunction","china")) ; 
  10.             } 
  11.              
  12.             public function flex_function(s1:String,s2:String):String 
  13.             { 
  14.                 return "flex function is called and function returned result :"+s1+" "+s2 ; 
  15.             } 
  16.         ]]> 
  17.     </mx:Script> 
  18. </mx:Canvas> 

<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" backgroundAlpha="1" backgroundColor="0xff0000" width="400" height="300" creationComplete="init()">
<mx:Script>
<![CDATA[
import mx.controls.Alert;
private function init():void
{
ExternalInterface.addCallback("flexFunction",flex_function) ;
Alert.show(ExternalInterface.call("jsFunction","china")) ;
}

public function flex_function(s1:String,s2:String):String
{
return "flex function is called and function returned result :"+s1+" "+s2 ;
}
]]>
</mx:Script>
</mx:Canvas>




JavaScrpit程序:

Java代码

   1. function jsFunction(s) 
   2. { 
   3.     var swf = "Flex_JS_CONNECTION" ; 
   4.     var flex  
   5.           /*************判断浏览器类型*/ 
   6.     if(navigator.appName.indexOf("Microsoft") != -1) 
   7.     { 
   8.         flex = window[swf]; 
   9.     } 
  10.     else  
  11.     { 
  12.         flex = window.document[swf] ; 
  13.     } 
  14.          /*****flex参数代表网页中嵌套的swf文件,即flex应用**************/ 
  15.     alert(flex.flexFunction("before","after")) ; 
  16.     return "js is called and param is "+s ; 
  17.      
  18.      
  19. } 

function jsFunction(s)
{
var swf = "Flex_JS_CONNECTION" ;
var flex
          /*************判断浏览器类型*/
if(navigator.appName.indexOf("Microsoft") != -1)
{
flex = window[swf];
}
else
{
flex = window.document[swf] ;
}
         /*****flex参数代表网页中嵌套的swf文件,即flex应用**************/
alert(flex.flexFunction("before","after")) ;
return "js is called and param is "+s ;


}

分享到:
评论

相关推荐

    flex 与 js 通信的小例子

    本篇文章将探讨一个关于“flex与js通信”的小例子,它主要涉及到Adobe Flex和JavaScript之间的交互,这对于创建富互联网应用程序(RIA)是非常重要的。Flex是一种用于构建富客户端应用的开源框架,基于ActionScript...

    flex 与JS的通信

    Flex与JavaScript(JS)之间的通信是Web开发中的一个重要技术,特别是在构建富互联网应用程序(RIA)时。本项目提供了一个完整的示例,展示了如何在Flex应用和JavaScript之间建立交互,以及如何通过Flex调用...

    Flash flex与JS通信

    总的来说,Flash Flex与JavaScript通信是Web开发中一个复杂且有趣的主题,它涉及到多种技术和策略,而crossdomain.xml则是保证安全通信的重要环节。了解和掌握这些知识,可以帮助开发者创建更具互动性和功能性的Web...

    flex 和 js 交互

    Flex,基于ActionScript,提供了一种强大的方式来创建富图形用户界面,而JavaScript则广泛用于网页的动态功能和与服务器的通信。这篇文章将探讨如何在Flex和JavaScript之间实现有效的交互。 **Flex和JavaScript交互...

    flex和页面js通信1

    总结来说,Flex与JavaScript之间的通信依赖于`ExternalInterface`,它提供了调用JavaScript函数和注册可被JavaScript调用的Flex方法的能力。这种通信方式使得两种技术能够协同工作,为开发者提供更丰富的用户交互...

    flex和javascript交互例子

    这两者的结合可以实现强大的前后端数据通信和用户交互。 标题"flex和javascript交互例子"指向了这个主题的核心——如何在Flex应用中调用JavaScript函数,以及反过来在JavaScript中调用Flex的方法。这种技术通常被...

    JS与Flex通信、互转例子

    在IT行业中,JavaScript(JS)和Flex是两种广泛使用的前端技术。JS主要应用于浏览器端,负责处理用户交互和动态更新页面,而Flex是基于ActionScript 3(AS3)的开发框架,主要用于创建富互联网应用程序(RIA)。在...

    flex和js互相调用

    本文主要讲解了如何在Flex和JavaScript之间进行相互调用,这对于开发富互联网应用程序(RIA)时集成客户端交互功能至关重要。Flex是一种基于ActionScript的开源框架,用于构建具有丰富用户体验的Web应用,而...

    Flex和JS的相互调用,传参

    在实际项目中,`FlexJs调用`可能涉及到的问题包括跨域安全、参数验证、错误处理等。确保正确设置Flash Player的安全策略,使用适当的错误处理机制,以及优化性能,都是确保Flex和JavaScript协同工作的重要环节。 ...

    js flex通信代码示例

    在JavaScript(JS)和Adobe Flex之间进行通信是一个常见的需求,特别是在构建富互联网应用程序(RIA)时。Flex是一种基于ActionScript的开发框架,用于创建交互式的、可自定义的UI组件,而JavaScript则广泛用于Web...

    flex—JS相互调用

    - 在发布之前进行充分的测试,确保跨域安全策略不会阻止Flex与JavaScript之间的通信。 - 注意版本兼容性问题,尤其是当使用不同版本的Flex Builder或Flash Player时。 #### 五、总结 通过上述示例,我们可以看到...

    flex 和 javascript 测通

    4. **JavaScript到Flex的通信**:JavaScript可以通过调用ExternalInterface.call()方法,传入Flex组件的ID和要调用的方法名,来触发Flex内部的函数。这种方法可以用于更新Flex组件的状态,或者传递数据。 5. **事件...

    Flex与JavaScript的相互通信(真情贡献)

    综上所述,Flex与JavaScript的相互通信是一个强大而实用的技术,它结合了Flex的富媒体表现力和JavaScript的灵活性,为Web应用带来了更多可能性。通过深入理解并实践“FlexAndJavaScriptRun”压缩包中的示例,开发者...

    flex与JS交互示例

    Flex与JavaScript交互是Web开发中的一个重要技术,它允许在Adobe Flex应用和HTML页面之间进行数据交换和功能调用。在本示例中,我们将深入探讨如何实现这种交互,并通过具体的步骤来理解其工作原理。 首先,Flex是...

    flex与js交互2

    ### Flex与JavaScript交互详解 #### 一、引言 随着Web技术的发展,不同语言之间的通信变得尤为重要。在Flex与HTML的结合中,Flex通常作为富客户端应用,而JavaScript则负责处理网页逻辑。为了实现二者之间的无缝...

    flex iframe js

    在`flex iframe js`的实践中,我们经常需要在JavaScript和ActionScript之间进行通信,以便在HTML页面和Flex应用之间共享数据或触发某些操作。这种通信过程称为“跨域通信”或“跨窗口通信”,因为它们发生在不同的...

    flex与JS实现互相调用

    在IT行业中,跨平台通信是常见的需求,尤其是在前端开发中,比如Flash(使用ActionScript,即Flex)与JavaScript之间的交互。这种交互使得Web应用程序能够利用Flash的多媒体处理能力,同时结合JavaScript的灵活性,...

    SWF之间通信、Flex与SWF之间通信

    ExternalInterface是Flex和SWF之间通信的一种方式,它允许ActionScript代码调用JavaScript函数。这种方式适用于SWF文件需要与HTML页面交互的情况。 #### 三、C#与SWF之间的通信 除了SWF文件之间的通信外,有时候...

    Flex与JS交互

    这种交互性极大地扩展了富互联网应用(RIA)的功能,使得开发者能够利用Flex的强大图形和动画能力,同时利用JavaScript与网页环境的紧密集成。 ActionScript是Flex的核心编程语言,它是基于ECMAScript的一个方言,...

    Flex AcrionScript 和 JavaScript 通讯

    Flex ActionScript与JavaScript之间的通信是Web开发中的一个重要概念,它允许在Adobe Flash Player中的Flex应用程序与HTML页面上的JavaScript代码之间交换数据和控制交互。这种通信机制对于创建富互联网应用程序...

Global site tag (gtag.js) - Google Analytics