Getting domain in AS3

ε祈祈猫儿з 提交于 2019-12-10 15:15:52

问题


I know how to get the URL of the page, but how can I extract simply the domain and the domain alone?

It must return the same value with or without www, and it must also return the same value regardless of file, with or without trailing slash, etc.

So www.domain.com would return domain.com, and domain.com/index.php would return the same as well.

Is this possible?

If so, is there a way to do it without calling ExternalInterface.call('window.location.href.toString')?

Thank you for the help!


回答1:


You can use the loaderInfo class, and then trim it down with a regular expression.

Like this. This trace of found[0] will return the domain down to the .com.

package{

import flash.display.LoaderInfo
import flash.display.MovieClip


public class sample extends MovieClip {
    public var urlStr:String;

    public function sample (){
        getLocation(this.loaderInfo.url);

    }
    public function getLocation(urlStr:String){
        var urlPattern:RegExp = new RegExp("http://(www|).*?\.(com|org|net)","i");
        var found:Object =  urlPattern.exec(urlStr);
            trace(found[0]);

    }

}

}




回答2:


In Flex use

Application.application.url

But in straight Flash you need to do it differently

http://renaun.com/blog/2008/10/16/264/

Then of course you can hack up the result as you need to, since it's a string.




回答3:


var domain = "http://www.example.com/";
var pathArray = domain.split("//");
pathArray = pathArray[1].split("/");
trace(pathArray[0]); //traces www.example.com


来源:https://stackoverflow.com/questions/2083121/getting-domain-in-as3

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!