2012-02-29 1 views
0

내가 뭔가를 "closeItem"라는 콜백 함수가 "데이터"라는 개체가 있다고 가정 해 봅시다.자바 스크립트 : 플래시 (swfObject)에서 javaScript 함수를 호출 하시겠습니까?

그래서 닫기 버튼이있는 플래시 파일이 있습니다. 클릭하면이 항목을 닫는이 함수를 호출합니다.

그래서 문제는 무엇입니까?

전역 함수로이 "closeItemFunction"을 전달하면 정상적으로 작동합니다.

그러나이 함수를 "data.closeItem"으로 전달하면이 falseh 오류가 발생합니다.

그래서 난 그냥 싶어


"플래시는 gobal 자바 스크립트 함수를 범위를 호출 않습니다"부탁?

+1

몇 가지 코드를 제공하고 "일부 플래시 오류"는 무엇입니까? –

+0

내 질문은 실제로 "플래시는 gobal 범위가 지정된 자바 스크립트 기능 만 호출합니까?" 내 JavaScript 함수를 호출하지 않아서 "일부 플래시 오류 일 수 있습니다 :)" –

답변

1

짧은 대답 (iirc); "예".

ExternalInterface.call("eval", "data.closeItem()") 
2

당신은 이런 식으로, 당신은 선언 익명 함수의 실행 및 ActionScript에서 호출 할 자바 스크립트를 래핑 수를 호출하여 주위를 얻을 수있을 :

ExternalInterface.call("function() { data.closeItem(); }"); 

위의 구문을 사용하여 함수가 호출되고 실행되는 것이 이상하게 보일 수도 있지만 다음과 같이 선언과 별도의 호출을 더 명확하게 지정할 수 있습니다.

ExternalInterface.call("(function() { data.closeItem(); })()"); 
+0

이 것을 시도합니다. –

관련 문제