2011-02-10 5 views
0

내부에 플래시를 사용하는 WRT 앱을 만들고 있습니다. 것은 자바 스크립트를 통해 swf에 매개 변수를 전달해야합니다. 그래서 내가Flash/JavaScript 및 WRT의 ExternalInterface 문제

function returnFunction() { return "test"; }

같은 자바 스크립트에서 함수를 만들어 내 SWF에서 나는 다음과 같은 코드를 가지고 : 난 내 로컬 컴퓨터에서 실행할 때

import flash.external.ExternalInterface;

var result:Object = ExternalInterface.call("returnFunction");
versionTxt.text = "Returned: " + String(result);

그래서,이 잘 작동을 (했다 플래시 플레이어의 보안을 변경하기 위해) 그리고 서버에 호스팅 할 때. 널

그래서 내가 여기에 선택의 여지가있어 :하지만 난 휴대 전화에서 실행해야합니다, 그래서 WRT 응용 프로그램에 싸서,하지만 난 그것을 테스트 할 때,이 같은 반환 반환

가 보안 문제입니까? 나는 이미 WRT에서 실행중인 것과 같은 것을 보았을 것입니다. 그래서 나는 그것이 가능하다는 것을 확신합니다. 여기서 누락 된 것이 무엇인지 모르겠습니다./

답변

1

어쩌면 당신은 자바 스크립트 나 WRT가 호출되도록 설정할 수 있습니다. ExternalInterface를 통해 노출 된 함수에 값을 반환합니다.

플래시 :

import flash.external.*; 

//Add a function call that can be accessed from javascript 
ExternalInterface.addCallback("operationComplete", operationComplete); 

//invoke the javascript operation 
function startExternalOperation(){ 
    ExternalInterface.call("operation"); 
} 

//javascript invokes this function when it is done 
function operationComplete(result:Object){ 
    //do something with results 
} 

자바 스크립트 : 당신이 말하는대로 (의사 소통의 또 하나의 "레이어"를 추가하는) 그것을 할 경우 작동

function operation() { 
    var result; 

    //do something and populate result 

    document.getElementById("swfObject").operationComplete(result); 
} 

Nokia Reference

+0

문제가된다 바탕 화면에서 잘. 하지만 모바일에서는 그렇지 않습니다. 보안 문제이거나 .Fla를 구성 할 때 누락 된 것이 있다고 생각합니다. –