Question

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!

Was it helpful?

Solution

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

    }

}

}

OTHER TIPS

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
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top