带两个参数的ExternalInterface.addCallback
问题描述:
我试图将2个变量从javascript传递给flash。我想我可以做这样的事情,我as3尝试并接受它们。带两个参数的ExternalInterface.addCallback
ExternalInterface.addCallback("callAs", muscle, tension);
可悲的是,这将引发一个错误
1137:参数数目不正确。预计不超过2.
有没有办法发送2个变量,而不是每次都必须进行2次调用?
在此先感谢! 树脂
答
这是可能的。
ExternalInterface.addCallback("theFunctionNameInJavascript", theFunctionNameInActionscript);
function theFunctionNameInActionscript(param1:String, param2:String):void {
//do something with param1;
//do something with param2;
}
然后在Javascript中你会像...
<!-- work out if we are on Mac or PC -->
function getFlashMovie(movieName) {
var isIE = navigator.appName.indexOf("Microsoft") != -1;
return (isIE) ? window[movieName] : document[movieName];
}
function theFunctionNameInJavascript(swf, param1, param2) {
getFlashMovie(swf).theFunctionNameInActionscript(param1, param2);
}
而且你会喜欢的东西触发此...
<form action="javascript:theFunctionNameInJavascript('idNameOfYourSWF', 'thisisparam1', 'thisIsParam2')" id="form">
<input type="submit" value="Click Me" />
</form>
我改剧本了一点,但我认为这会奏效。当然给了我理解,让我的工作;)谢谢! – Resin01 2012-07-05 16:01:18