вызвать функцию flash из функции javascript, а не кнопки - PullRequest
0 голосов
/ 14 ноября 2011

Я использую этот код для вызова функции actionscript 3 через javascript

http://www.viget.com/inspire/bi-directional-actionscript-javascript-communication

и я хочу вызвать функцию acrionscript 3 из функции javascript, но не при нажатии кнопки.

как мне это сделать? спасибо!

код действия:

//call to javascript
ExternalInterface.call("sendToJavaScript");

//call from javascript
ExternalInterface.addCallback("sendToActionscript", callFromJavaScript);


function callFromJavaScript(dir):void 
{
  if(dir == 'right')
  {
    var tweenR = new Tween(box, 'x', None.easeNone, box.x, 145, 1, true);
  }
  if(dir == 'left')
  {
    var tweenL = new Tween(box, 'x', None.easeNone, box.x, 23, 1, true);
  }
}

код JavaScript:

function getFlashMovie(movieName) {
  var isIE = navigator.appName.indexOf("Microsoft") != -1;
  return (isIE) ? window[movieName] : document[movieName];
}

function callToActionscript(str) 
{
     getFlashMovie("nameOfFlashMovie").sendToActionscript(str);
}

Кнопка HTML

<form action="javascript:callToActionscript('asjs', 'left')" id="form1">
            <input type="submit" value="&lt;--" />
        </form>

Я пытался назвать это так в теле, но это не сработало:

 <script type="text/javascript" language="javascript">     
 callToActionscript('asjs', 'left');
 </script>  

Ответы [ 2 ]

1 голос
/ 14 ноября 2011
function callToActionscript(str) 
{
     getFlashMovie("nameOfFlashMovie").sendToActionscript(str);
}
window.action = callToActionscript('left');

Надеюсь, вы ожидаете этого.

1 голос
/ 14 ноября 2011

Ваш JavaScript не работает, но вы передаете две строки в функцию callToActionscript, и она ожидает только одну.В результате вы отправляете строку «asjs» во Flash, и поскольку ваша callFromJavascript функция ожидает только «left» или «right», она ничего не делает.

Попробуйте использовать только значение, которое вы хотите передать:

<script type="text/javascript">     
    callToActionscript('left');
</script> 

Кроме того, вам не нужно language="javascript" в теге сценария.Вы уже указали язык как часть mime-типа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...