2011-09-29 8 views
0

이 내 연구를 바탕으로 ... 나를 견과류 운전 그래서 같은 SWF 개체에 직접 쿼리 스트링 매개 변수를 전달 할 수 있어야한다 : 나는 다음을 시도 한 MXML oncreationcomplete 방법에서swf에 쿼리 문자열 값을 전달하는 방법은 무엇입니까?

http://localhost:3000/SomeFlash/bin-debug/myFlash.swf?userId=827419

:

// oncreationcomplete method 
    var userIdTest1:String = FlexGlobals.topLevelApplication.parameters[0]; 
    var userIdTest2:String = Application.application.parameters.userId; 
    var userIdTest3:String = this.parameters.userId; 


    // External Interface 
    ExternalInterface.addCallback("OnGameLoad", ClientParams); 


// callback method 
    protected function ClientParams(userId:String):void 
    { 
     this.userId = userId;   
    }  

소스 http://help.adobe.com/en_US/flex/using/WS2db454920e96a9e51e63e3d11c0bf626ae-7feb.html

내가 플렉스 4.5.1 컴파일러 Flashbuilder 4.5을 사용하고 있습니다. html 래퍼 함께 mxml 사용하고 있지만 swf 직접 URL을 통해 매개 변수를 전달하려면 노력하고있어.

답변

1

많은 테스트와 멍청한 행운을 보았을 때 나는 다음과 같이 쿼리 스트링 파라미터를 얻는 것이 효과적이라는 것을 발견했다. 호스팅 HTML 페이지를 갖는 oncreationcomplete 방법

this.userId = this.parameters.userId; 
2

swf를 직접 실행하는 경우 ExternalInterface를 사용할 수 없습니다.

마찬가지로, 나는 그것이 queryString을 사용할 수없는 이유라고 생각합니다.

대신 호스팅 HTML 페이지를 사용해보세요. (즉, http://localhost:3000/SomeFlash/bin-debug/myFlash.html?userId=827419)

+0

좋은 아이디어에서

// 항상 일반적으로 좋은 생각입니다. 친구들에게 빠른 배포를 위해 SWF를 브라우저에서 직접 호출하여 프로젝트를 시도 할 수있는 이유를 생각할 수 없습니다. – bigp

+0

swf는 swfs를 직접 사용하는 3D 응용 프로그램에서 사용되므로 html 래퍼를 사용할 수 없습니다. – chobo

관련 문제