宜昌本地软件开发与弱电工程服务商
项目咨询 · 快速响应
您当前的位置: > 博客2 > AS2与AS3技术

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

2016-10-13 00:16:48 点击量:8 标签: 收藏本文

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

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

  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;}");

ABOUT US
宜昌农人网络科技有限公司

我们是一家提供综合软件外包与弱电工程服务的技术公司。

业务涵盖定制软件、管理系统、网站、小程序、APP、系统集成、网络布线、监控安防、门禁、机房建设及长期技术维护。

公司地址:湖北省宜昌市伍家岗区东站二路6号三峡(宜昌)大数据产业园海洋馆二楼A203室