2010-03-27 2 views
2

Javascript를 통해 ActionScript 메서드를 호출해야하지만 플래시 객체 자체에 액세스하는 데 문제가 있습니다. swfobject의 도움을 받아 플래시 파일을 삽입합니다. 내가 정적 출판 방식을 사용하는 경우swfobject의 embedSWF를 통해 임베드 된 플래시 객체에 액세스하는 방법은 무엇입니까?

이전

, 내가 쉽게 이러한 방법 호출하여 플래시 개체를 얻을 수 : 몇 가지 기술적 인 이유로

swfobject.registerObject("flash_object", "9", "expressInstall.swf"); 
var flash_object = swfobject.getObjectById("flash_object"); 

을, 지금은 를 사용하여 동적 출판 방식을 (사용해야합니다 swfobject.embedSWF). 그러나 설명서에 언급 된대로 getObjectById 메서드는 정적 게시 방법을 사용하는 경우에만 사용할 수 있습니다.

이제 플래시 객체에 액세스 할 수 있습니까?

건배,

document.getElementById("flash_object") 오래된 좋은으로 안드레

답변

5

그냥 페이지로드 후 그것을해야합니다. 당신은 역시 callback function를 통해 그것을 설정할 수 있습니다

var mySWF = null; 
var flashvars = {}; 
var params = {}; 
var attributes = {}; 
var embedHandler = function (e){ 
    mySWF = e.ref; //e.ref is a pointer to the <object> 
    //do something with mySWF 
}; 

swfobject.embedSWF("/path/to/file.swf", "flash_object", "550", "400", "9", "/path/to/expressInstall.swf", flashvars, params, attributes, embedHandler); 
+0

아하나. 감사! – Andree

+0

이것은 불행히도 Firefox에서 작동하지 않습니다 ... 그것은 null을 반환합니다! :(이유를 아는 사람, 또는 그것을 얻는 방법을 알고 있습니까?) – jowie

+0

방금 ​​swfobject의 콜백 API를 사용하여 내 대답을 업데이트했습니다 : e.ref 에 대한 포인터를 반환합니다, document.getElementById 필요 없음 – pipwerks

0

나는 그것은 ActionScript 메서드에 자바 스크립트에서 데이터를 전달을 FlashVars를 사용하는 방법에 대해 설명합니다 How to Integrate Flex with Java EE applications.

에 문서를 통과 건의 할 것입니다. 나는 그것을 직접 사용했고 그것은 잘 작동한다.

관련 문제