Actionscript 3 从javascript函数调用flash函数,而不是按钮
我使用这段代码通过javascript调用ActionScript3函数 我想从javascript函数调用acrionscript 3函数,但不是在按钮操作上 我该怎么做? 谢谢 actionscript代码: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
//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="<--" />
</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');
希望你在期待这个