[AS3]flash通过ExternalInterface.call方法来获取当前URL地址

不用js,只需flash就能搞定了,主要是用了ExternalInterface.call方法,其本质还是通过flash去调用js函数

import flash.external.*;  
var urlPath;  
var param_info;  
function geturlhttp() {  
urlPath = ExternalInterface.call('eval', 'window.location.href');  
//如果使用urlPath = ExternalInterface.call("window.location.href.toString");  
//的话IE不识别,不过我测试了一下,也没有问题  
param_info = urlPath.split("?")[1];  
}  
geturlhttp();  
urlText.text = urlPath;   
if(param_info == undefined){  
param.text = "no param";  
}else{  
param.text = param_info;  
}  


 

loaderInfo.url 获取的是 swf 文件地址,当swf在一个域下, html在另外一个域下引用用一下方法获取URL地址
  ExternalInterface.call(" function getURL(){return window.location.href;}")

  通常我们理解ExternalInterface.call方法是调用js里面的函数,但他还有一个重要功能可以 动态的给js添加一个方法并执行,不知道我这么理解是否正确。上例中通过call方法给js添加了一个getURL的函数,并执行它,这样call的返回值就是当前页面的URL地址。

  同理

  还可以获得浏览器类型
  ExternalInterface.call("function getBrowser(){return navigator.userAgent;}");
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值