2011-02-10 8 views
0

私は内部でフラッシュを使用するWRTアプリケーションをやっています。ことは、私はJavaScriptを介してSWFにパラメータを渡す必要があります。だから私はFlash/JavaScriptとWRTのExternalInterfaceに関する問題

function returnFunction() { return "test"; }

のようにJavaScriptの関数を作成し、私のSWFに私は次のコードを持っている:私は私のローカルマシン上で実行した場合

import flash.external.ExternalInterface;

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

だから、これは正常に動作を(持っていましたフラッシュプレーヤーのセキュリティを変更する)と私はそれをサーバー上でホストします。ので、私はここではオプションの外だナル

を:返さ

:しかし、私は携帯電話でそれを実行する必要があるので、私はWRTアプリでそれを包み、私はそれをテストするとき、それは次のように返します。それはセキュリティ上の問題ですか?私はすでにWRTで実行されているようなものを見たと思うので、私はそれが可能であると確信しているだけで、私はここで紛失しているものは分かっていない:/

答えて

1

多分あなたはそれがjavascriptまたは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 
} 

はJavaScript:

function operation() { 
    var result; 

    //do something and populate result 

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

Nokia Reference

+0

問題は、あなたはそれが動作(通信のもう一つの "層" を追加した)と言っているようならば、それをやるということですデスクトップでうまくいく。しかし、モバイルではそうではありません。だから、セキュリティ上の問題か、.Flaの設定に欠けていると思います –

関連する問題