`
lixinye0123
  • 浏览: 333374 次
  • 性别: Icon_minigender_1
  • 来自: 温州
社区版块
存档分类
最新评论

ActionScript 3 接收 JavaScript函数返回值

    博客分类:
  • Flex
阅读更多
MXML:
<?xml version="1.0" encoding="utf-8"?>

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns="*" 
    creationComplete
="onCreationComplete()">
    
    
<mx:Script source="ExternalInterfaceASJSReturn.as" />
    
    
<mx:Panel height="300" width="500" title="ExternalInterface : Returning a value to ActionScript from JavaScript">
        
<mx:Canvas height="100%" width="100%">
            
<mx:Button y="6" label="Get Browser Info" id="submitButton" width="118" x="180">
            
</mx:Button>
            
<mx:TextArea x="5" y="34" width="468" height="228" id="tArea"/>
        
</mx:Canvas>
    
</mx:Panel>
</mx:Application>
 
ExternalInterfaceASJSReturn.as:

import flash.external.ExternalInterface;
import flash.events.MouseEvent;


private 
function onCreationComplete():void
...{
    submitButton.addEventListener(
"click", onSubmitClick);
}


private 
function onSubmitClick(event:MouseEvent):void
...{
    
if(ExternalInterface.available)
    
...{
        
//call the JavaScript function, and store the return value
        //in a variable
        var info:Object = ExternalInterface.call("getBrowserInfo");
        
        
var sb:String = null;
        
        
//loop through the results
        for(var x:String in info)
        
...{
            sb 
= sb + x + " : " + info[x] + " ";
        }


        
//print them out to the TextArea
        tArea.text = sb.toString();
    }

}

JavaScript:
function getBrowserInfo()
    
...{
        
var docElement = document.documentElement;

        
var o = new Object();
        
            o.href 
= location.href;
            o.lang 
= docElement.lang;
            o.offsetTop 
= docElement.offsetTop;
            o.offsetLeft 
= docElement.offsetLeft;
            o.offsetWidth 
= docElement.offsetWidth;
            o.offsetHeight 
= docElement.offsetHeight;
            o.scrollTop 
= docElement.scrollTop;
            o.scrollLeft 
= docElement.scrollLeft;
            o.scrollHeight 
= docElement.scrollHeight;
            o.scrollWidth 
= docElement.scrollWidth;
            o.clientHeight 
= docElement.clientHeight;
            o.clientWidth 
= docElement.clientWidth;
            o.width 
= document.width;
            o.height 
= document.height;
            o.domain 
= document.domain;
            o.lastModified 
= document.lastModified;        
                
        
return o;
    }

分享到:
评论

相关推荐

    SWF(ActionScript3.0)与JavaScipt(JS)通信示例

    今天花了一些时间整理出来了Swf 文件与JavaScript通信的示例,在此贴出供大家参考。 在ActionScript3.0与JavaScipt通信的时候需要用到...ActionScript函数可以返回一个值,JavaScript会立即接收它作为该调用的返回值。

    flex中写js代码

    - Adobe Flash Player提供了ExternalInterface API,使得ActionScript可以调用JavaScript函数,并接收JavaScript的返回值。这在需要与网页中的DOM元素交互或执行页面级操作时非常有用。 3. **添加JavaScript回调**...

    flash与javascript通讯.txt

    通过ExternalInterface,开发者可以直接从ActionScript调用JavaScript函数,并可以处理更复杂的数据类型。 - **调用JavaScript函数**: ```actionscript import flash.external.*; var alert_txt:TextField; var ...

    AS3获取JS回传值

    在AS3代码中,我们需要添加一个`ExternalInterface.addCallback`事件监听器,这样我们就可以定义一个函数来接收JavaScript的回调。例如,你可以创建一个名为`receiveValueFromJS`的函数,用于接收来自JavaScript的...

    Flex Javascript交互实现代码

    如果有返回值,该方法会返回JavaScript函数执行的结果。 - `ExternalInterface.addCallback(functionName:String, closure:Function)`: 此方法用于在ActionScript中注册一个方法,使其可以在宿主页面的JavaScript...

    flex和javascript交互

    `ExternalInterface`提供了在Flex中调用任意JavaScript函数的能力,并允许传递参数以及接收返回值。此外,如果调用失败,Flex会抛出异常。`ExternalInterface`还会自动检测浏览器的支持情况。 **使用示例:** ...

    Flex程序如何获取html容器传递的URL参数值

    3. **处理返回值**:JavaScript函数返回的结果会在Flex程序中捕获。根据返回的数据类型,可能需要进一步处理,如转换为Flex中的数据结构。 ### 示例代码 假设HTML页面中存在以下JavaScript函数: ```javascript ...

    JavaScript语言特性

    例如,你可以创建一个函数工厂,它接收一些参数并返回一个新的函数,这个新函数根据传入参数的行为有所不同。这种编程风格在函数式编程中非常常见,能够帮助编写简洁、可读性强的代码。 **动态类型**是JavaScript的...

    Flex 与javascript交互、C#读写Cookie

    为了解决这个问题,Adobe引入了`ExternalInterface` API,使得Flex可以调用JavaScript函数,同时JavaScript也可以调用Flex组件的方法,实现了两者之间的双向通信。 在实现Flex与JavaScript交互时,你需要: 1. 在...

    通过js文件,传值给flash

    - JavaScript不能直接调用没有返回值的AS3函数,所有需要返回数据给JavaScript的AS3函数都必须有返回值。 以上就是通过JavaScript文件向Flash传递值的详细过程,这个过程在动态交互的网页应用中非常常见,例如游戏...

    DELPHI+FLASH CS3互交

    3. 在Delphi端,通过调用TWebBrowser组件的DocumentInterface或使用FlashControl的API,可以调用Flash中暴露的方法,传递数据并接收返回值。例如,可以向Flash发送数据以更新显示,或者接收Flash的事件通知。 4. ...

    Flex ActiveX通过JS相互调用.rar

    - JavaScript接收到调用请求后,执行相应的ActiveX方法,并将结果保存在一个全局变量或者返回值中。 - Flex通过设置`ExternalInterface.addCallback`的回调函数,监听JavaScript环境的变化,一旦ActiveX的调用完成...

    js和flash交互的小例子

    3. **调用Flash方法**:在JS中,通过Flash对象的`call()`方法调用暴露的ActionScript函数,传递参数并接收返回值。 例如,在`jstoflash.html`中,JS可能会有如下代码: ```javascript var flashObject = document....

    Flash与C#通信

    ActionScript 3提供了ExternalInterface API,使得Flash可以与JavaScript或其他宿主环境(如C#)进行双向通信。 2. **ExternalInterface API** ExternalInterface API是Flash Player提供的接口,允许ActionScript...

    flash与c#程序的双向交互

    3. **调用接口**:在ActionScript中,可以使用ExternalInterface.call()方法来调用C#的函数,传递参数并接收返回值。而在C#中,可以监听Flash的JavaScript调用,然后执行相应的操作。 4. **处理安全问题**:由于...

    在Flex(Flash)中嵌入HTML代码或页面(Flex IFrame)

    Flex IFrame组件支持一系列的JavaScript交互操作,例如调用JavaScript函数、传递参数给JavaScript函数,并且接收函数执行后的结果。这在MXML中通过IFrame组件的callIFrameFunction方法实现: ```actionscript ...

Global site tag (gtag.js) - Google Analytics