我可以用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