Actionscript 3 从javascript函数调用flash函数,而不是按钮

Actionscript 3 从javascript函数调用flash函数,而不是按钮,actionscript-3,Actionscript 3,我使用这段代码通过javascript调用ActionScript3函数 我想从javascript函数调用acrionscript 3函数,但不是在按钮操作上 我该怎么做? 谢谢 actionscript代码: //call to javascript ExternalInterface.call("sendToJavaScript"); //call from javascript ExternalInterface.addCallback("sendToActionscript", c

我使用这段代码通过javascript调用ActionScript3函数

我想从javascript函数调用acrionscript 3函数,但不是在按钮操作上

我该怎么做? 谢谢

actionscript代码:

//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);
  }
}
function getFlashMovie(movieName) {
  var isIE = navigator.appName.indexOf("Microsoft") != -1;
  return (isIE) ? window[movieName] : document[movieName];
}

function callToActionscript(str) 
{
     getFlashMovie("nameOfFlashMovie").sendToActionscript(str);
}
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);
  }
}
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>  

callToActionscript('asjs','left');

您的javascript没有失败,但是您正在将两个字符串传递到
callToActionscript
函数中,它只需要一个字符串。这样做的结果是将字符串“asjs”发送到Flash中,因为
callFromJavascript
函数只需要“left”或“right”,所以它什么也不做

仅使用要传递的值进行尝试:

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

callToActionscript('左');
此外,脚本标记中不需要
language=“javascript”
。您已经将该语言作为mime类型的一部分提供

function callToActionscript(str) 
{
     getFlashMovie("nameOfFlashMovie").sendToActionscript(str);
}
window.action = callToActionscript('left');
希望你在期待这个