【问题标题】:How to get/obtain Variables from URL in Flash AS3如何在 Flash AS3 中从 URL 获取/获取变量
【发布时间】:2011-02-13 02:11:26
【问题描述】:

所以我有一个 URL,我需要我的 Flash 电影从中提取变量:

示例链接:
http://www.example.com/example_xml.php?aID=1234&bID=5678

我需要获取 aID 和 bID 号码。

我可以通过 ExternalInterface 将完整的 URL 转换为字符串

var url:String = ExternalInterface.call("window.location.href.toString");
if (url) testField.text = url;

只是不确定如何操作字符串以获取 1234 和 5678 数字。

感谢任何提示、链接或帮助!

【问题讨论】:

    标签: flash actionscript-3 url split externalinterface


    【解决方案1】:

    创建URLVariables 的新实例。

    // given search: aID=1234&bID=5678
    var search:String = ExternalInterface.call("window.location.search");
    var vars:URLVariables = new URLVariables(search);
    trace(vars.aID); // 1234
    trace(vars.bID); // 5678
    

    【讨论】:

    • 谢谢 :) 我在哪里可以找到有关所有可能的“window.location.syntax 以及它们的作用”的信息
    • @Leon,我个人喜欢 Firefox/Gecko 参考,但还有其他参考可用。 developer.mozilla.org/en/DOM/window#Properties
    【解决方案2】:
    var valuePairs:Array = url.substring(url.indexOf("?")+1).split("&");
    var map:Object = new Object();
    for (var i:int=0; i < valuePairs.length; i++) {
        var nextValuePair:Array = valuePairs[i].split("=");
        map[nextValuePair[0]] = nextValuePair[1];
    }
    
    
    trace(map["aID"]); // 1234
    

    未经测试的代码!这只是简单的字符串操作。

    而且...几乎是 1-liner(也未经测试)

    var map:Object = new Object();
    var temp:Array;
    for each (var i:String in /.*\?(.*)/.exec(url)[1].split("&")) map[(temp=i.split("="))[0]]=temp[1];
    

    但当然最好使用 urlVariables :)

    【讨论】:

      猜你喜欢
      • 2012-04-06
      • 1970-01-01
      • 1970-01-01
      • 2012-02-06
      • 2023-03-15
      • 2011-09-28
      • 1970-01-01
      • 2011-08-29
      相关资源
      最近更新 更多