我可以用ExternalInterface.call('func_name',.args)
调用JS函数。好吧有没有办法从ExternalInterface调用Javascript类方法?
但是如果我想调用一个js类实例方法呢?
ExternalInterface.call('obj.method_name',.args) //this seems not to work
有没有办法做到这一点?
我可以用ExternalInterface.call('func_name',.args)
调用JS函数。好吧有没有办法从ExternalInterface调用Javascript类方法?
但是如果我想调用一个js类实例方法呢?
ExternalInterface.call('obj.method_name',.args) //this seems not to work
有没有办法做到这一点?
您可以使用ExternalInterface调用JavaScript方法。 可以肯定,你已经包含在您的JavaScript文件或你写你的JavaScript的功能您index.template.html文件中,这可能是这样的:
<script type="text/javascript" src="./lib/file.js"></script>
<script type="text/javascript">
function doSomtething() {
alert("Something is done");
}
</script>
如果你想调用的函数“DoSomething的如果你想发送一些参数
ExternalInterface.call("doSomething");
和你的JavaScript函数的定义如下:()”,你可以用下面的代码做到这一点
<script type="text/javascript">
function doSomtething(param1, param2) {
alert("Something is done");
}
</script>
你可以用这个说法称之为:
ExternalInterface.call("doSomething", param1, param2);
如果不工作,请检查您的HTML文件中的JavaScript的功能。
您已经发布了以下声明:
ExternalInterface.call('obj.method_name',.args)
你确定要发送“.args”,而不是‘ARGS’?
我希望这会对你有所帮助。
这只是一个范围问题。你必须在js类之外实例化swf对象。那我可以参考ExternalInterface.call()
。
window.addEvent('domready',function(){
swf = new Swiff('../files/swf/italy.swf',{
id:'italy',
container:'italy-flash',
width:280,
height:323,
params:{
bgcolor:'#ffffff',
wmode:'opaque',
allowScriptAccess:'always'
}
});
rm = new RelessersManager('regions');
});
现在从SWF我可以调用rm
方法。 :) (.call('rm.method_name',...params))
此前,我建立了rm
里面的swf,所以没有办法从swf中引用rm
。
为什么不把类返回包装在函数中? – chchrist 2010-12-04 11:04:47