Flash / JavaScript和WET中的外部接口问题

时间:2011-02-10 18:56:39

标签: javascript flash nokia-wrt

我正在做一个内部使用闪光灯的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中看到过这样的东西,所以我很确定它是可能的,只是不知道我在这里缺少什么:/

1 个答案:

答案 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);
}

Nokia Reference