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

来源:互联网 发布:如何连接网络投影仪 编辑:程序博客网 时间:2024/05/22 11:47

不用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;}");
原创粉丝点击