Проблема с ExternalInterface во Flash / JavaScript и WRT - PullRequest
0 голосов
/ 10 февраля 2011

Я делаю WRT-приложение, которое использует вспышку внутри.Дело в том, что я должен передать параметры в SWF через JavaScript.Итак, я создал функцию в javascript, как

function returnFunction() { return "test"; }

и в моем SWF у меня есть следующий код:

import flash.external.ExternalInterface;<br><br> var result:Object = ExternalInterface.call("returnFunction");<br> versionTxt.text = "Returned: " + String(result);

Итак,это работает нормально, когда я работаю на своей локальной машине (пришлось изменить некоторые параметры безопасности на флэш-плеере) и когда я размещаю его на сервере.Но мне нужно запустить его на мобильном телефоне, поэтому я обернул его в приложение WRT, но когда я тестирую его, он возвращается как:

Возвращено: null

Так что я вышелвариантов здесь, это проблема безопасности?Наверное, я уже видел что-то подобное в WRT, так что я уверен, что это возможно, просто не знаю, чего мне здесь не хватает: /

1 Ответ

1 голос
/ 10 февраля 2011

Может быть, вы могли бы настроить его так, чтобы javascript или WRT вызывали обратно со значением в функцию, которую вы открыли через ExternalInterface.

Flash:

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

...