我正在做一个内部使用闪光灯的WRT应用程序。问题是我必须通过javascript将参数传递给swf。所以我在javascript中创建了一个函数,如
function returnFunction()
{
return "test";
}
在我的SWF中我有以下代码:
import flash.external.ExternalInterface;
var result:Object = ExternalInterface.call("returnFunction");
versionTxt.text = "Returned: " + String(result);
因此,当我在我的本地计算机上运行时(必须更改Flash播放器上的某些安全性)以及当我在服务器上托管它时,这样可以正常工作。但我必须在手机上运行它,所以我把它包装在一个WRT应用程序中,但是当我测试它时,它返回如下:
返回:null
所以我没有选择,这是一个安全问题吗?我想我已经在WRT中看到过这样的东西,所以我很确定它是可能的,只是不知道我在这里缺少什么:/
答案 0 :(得分: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);
}