不用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;
}
ExternalInterface.call(" function getURL(){return window.location.href;}")
通常我们理解ExternalInterface.call方法是调用js里面的函数,但他还有一个重要功能可以 动态的给js添加一个方法并执行,不知道我这么理解是否正确。上例中通过call方法给js添加了一个getURL的函数,并执行它,这样call的返回值就是当前页面的URL地址。
同理
还可以获得浏览器类型
ExternalInterface.call("function getBrowser(){return navigator.userAgent;}");