ActionScript 3 接收 JavaScript函数返回值

本文介绍了一个使用MXML和ActionScript调用JavaScript获取浏览器信息的示例。通过一个按钮触发,能从JavaScript返回数据并显示在文本区域中。
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;
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值