开发者

Getting domain in AS3

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 witho开发者_运维百科ut 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!


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]);

    }

}

}


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.


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

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜