2010-01-17 2 views
4

페이지의 URL을 얻는 방법을 알고 있지만 간단히 도메인과 도메인을 어떻게 추출 할 수 있습니까?AS3에서 도메인 가져 오기

그래서 www.domain.comdomain.com을 반환

그것은 또는 www가없이 같은 값을 반환해야하고, 그것은 또한 또는 후행 슬래시없이 파일에 상관없이 같은 값을 반환해야합니다, 그리고 domain.com/index.php은을 반환 마찬가지로.

이것이 가능합니까?

그렇다면 ExternalInterface.call('window.location.href.toString')을 호출하지 않고도이를 수행 할 수 있습니까?

도움 주셔서 감사합니다.

답변

5

loaderInfo 클래스를 사용하여 일반 표현식으로 트리밍 할 수 있습니다.

이렇게하면됩니다. found [0]의이 추적은 .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]); 

    } 

} 

}

+0

https로도 사용할 수있는 방법은 없나요? – Cyclone

+0

작동했습니다! 어떻게하면 http : //와 www를 완전히 무시하고 도메인으로 돌아 가게 할 수 있습니까? – Cyclone

+0

(http | https) : // (www |) 다음은 발견 된 것을 참조 번호 3 'found [3]으로 변경합니다. –

2

플렉스에서 바로 플래시에 당신이이를 이후 당신이 필요로 물론 당신이 결과를 해킹 할 수 그리고 다른

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

그것을 할 필요가

Application.application.url 

그러나 사용 끈.

+0

플렉스에서 그것을 할 수 없습니다, 플래시해야합니다. 어떻게 결과를 해킹합니까? – Cyclone

+0

AS3의 문자열 조작 : http://www.wuup.co.uk/as3-basics-string-manipulation-in-actionscript-3/ 아마 더 좋은 사이트도 있습니다. –

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

정답으로 표시 – slavik

관련 문제