현재 SWF 의 절대 경로 가 져 오기

5581 단어 WebxmlFlexFlashAdobe
먼저, 제 가 테스트 한 시스템 주소 와 네트워크 주 소 를 설명 합 니 다. 한 컴퓨터 1: file: / / E: \ vcs \ Hello World \ \ bin - debug \ player. swf 의 한 컴퓨터 2: file: / / D: vcs / Hello World / bin - debug / player. swf 는 둘 이 다 르 기 때문에 다음 프로그램 은 발표 후에 수정 되 었 습 니 다.그러나 명확 한 것 은 어떤 시스템 개발 이 든 네트워크 프로그램 이 실 행 될 때 가 져 온 서버 주 소 는 http: / www. baidu. com / mp3 /.. 형식의 주소 구분자 가 모두 '/' 1 이 고 AS 프로젝트 에서 현재 프로젝트 를 컴 파일 한 SWF 가 있 는 서버 경로 나 로 컬 경 로 를 가 져 와 아래 코드 를 AS 프로젝트 의 최상 위 클래스 에 두 는 것 입 니 다.
자바 코드
  • package  {  
  •     import  flash.display.Sprite;  
  •   
  •     public   class  HelloWorld  extends  Sprite  
  •     {  
  •         public   static  var currSwfUrl:String;  
  •           
  •         public  function HelloWorld(){  
  •             //네트워크 관련 항목 을 쓸 때 이 자동 으로 호출 된 서버 엔 드 프로그램 을 선택 할 수 있 습 니 다.  
  •             var doMain:String = this .stage.loaderInfo.url;  
  •             var doMainArray:Array = doMain.split("/" );  
  •               
  •             if  (doMainArray[ 0 ] ==  "file:" ) {  
  •                 //로 컬 시스템 이 되 돌아 오 는 경 로 를 처리 하기 위해 '/' 또는 '\' 두 가지 간격 으로 구 성 된 서로 다른 상황 을 각각 처리 합 니 다.  
  •                 if (doMainArray.length<= 3 ){  
  •                     currSwfUrl = doMainArray[2 ];  
  •                     currSwfUrl = currSwfUrl.substring(0 ,currSwfUrl.lastIndexOf(currSwfUrl.charAt( 2 )));  
  •                 }else {  
  •                     currSwfUrl = doMain;  
  •                     currSwfUrl = currSwfUrl.substring(0 ,currSwfUrl.lastIndexOf( "/" ));  
  •                 }  
  •             }else {  
  •                 currSwfUrl = doMain;  
  •                 currSwfUrl = currSwfUrl.substring(0 ,currSwfUrl.lastIndexOf( "/" ));  
  •             }  
  •             currSwfUrl = currSwfUrl + "/" ;  
  •               
  •             trace ("항목 경로: " + HelloWorld.currSwfUrl);  
  •         }  
  •     }  
  • }  
  • package {
    	import flash.display.Sprite;
    
    	public class HelloWorld extends Sprite
    	{
    		public static var currSwfUrl:String;
    		
    		public function HelloWorld(){
    			//         ,                     
    			var doMain:String = this.stage.loaderInfo.url;
    			var doMainArray:Array = doMain.split("/");
    			
    			if (doMainArray[0] == "file:") {
    				//             “/” “\”           ,     
    				if(doMainArray.length<=3){
    					currSwfUrl = doMainArray[2];
    					currSwfUrl = currSwfUrl.substring(0,currSwfUrl.lastIndexOf(currSwfUrl.charAt(2)));
    				}else{
    					currSwfUrl = doMain;
    					currSwfUrl = currSwfUrl.substring(0,currSwfUrl.lastIndexOf("/"));
    				}
    			}else{
    				currSwfUrl = doMain;
    				currSwfUrl = currSwfUrl.substring(0,currSwfUrl.lastIndexOf("/"));
    			}
    			currSwfUrl = currSwfUrl + "/";
    			
    			trace("    : "+ HelloWorld.currSwfUrl);
    		}
    	}
    }
    

    출력 결과: "프로젝트 경로: E: \ vcs \ Hello World \ bin - debug /" 2. Flex 웹 프로젝트 에서 현재 프로젝트 가 컴 파일 된 SWF 가 있 는 서버 경로 나 로 컬 경 로 를 가 져 와 아래 코드 를 Flex App 클래스 에 두 면 사용 할 수 있 습 니 다.
    자바 코드
  •   
  •   
  •       
  •         
  •             public   static  var currSwfUrl:String;  
  •               
  •             private  function initApp(): void {  
  •                 //네트워크 관련 항목 을 쓸 때 이 자동 으로 호출 된 서버 엔 드 프로그램 을 선택 할 수 있 습 니 다.  
  •                 var doMain:String = this. parent. stage. loaderInfo. url; / 이 줄 은 AS 의 쓰기 와 약간 다 릅 니 다.  
  •                 var doMainArray:Array = doMain.split("/" );  
  •   
  •                 if  (doMainArray[ 0 ] ==  "file:" ) {  
  •                     if (doMainArray.length<= 3 ){  
  •                     //로 컬 시스템 이 되 돌아 오 는 경 로 를 처리 하기 위해 '/' 또는 '\' 두 가지 간격 으로 구 성 된 서로 다른 상황 을 각각 처리 합 니 다.  
  •                     currSwfUrl = doMainArray[2 ];  
  •                     currSwfUrl = currSwfUrl.substring(0 ,currSwfUrl.lastIndexOf(currSwfUrl.charAt( 2 )));  
  •                 }else {  
  •                     currSwfUrl = doMain;  
  •                     currSwfUrl = currSwfUrl.substring(0 ,currSwfUrl.lastIndexOf( "/" ));  
  •                 }  
  •             }else {  
  •                     currSwfUrl = doMain;  
  •                     currSwfUrl = currSwfUrl.substring(0 ,currSwfUrl.lastIndexOf( "/" ));  
  •                 }  
  •                 currSwfUrl += "/" ;  
  •                   
  •                 trace ("항목 경로: " + HelloFlex.currSwfUrl);  
  •             }  
  •         ]]>  
  •       
  •  
  • 좋은 웹페이지 즐겨찾기