2016-03-03 52 views
0

在我的代碼有初始化函數swf文件可以用`ExternalInterface.call()`函數初始化爲javascript嗎?

HTML

<embed id="SoundsObj"........ 

JS

var SoundsObj = document.getElementById('SoundsObj'); 

function GetSoundsObj(){ 
alert(top.SoundsObj.SndPlay); //I can see it has initialized itself 
} 

AS3

ExternalInterface.call("GetSoundsObj"); 

我很好奇有沒有我可以通過SWF對象的可能性在JS中作爲的第二個參數0反擊?

在AS3

ExternalInterface.call("GetSoundsObj",this); //by `this` I mean swf object 

在JS

var SoundsObj = null; 

function GetSoundsObj(arg){ 
SoundsObj = arg; 
alert(SoundsObj.SndPlay); 
} 

完全確信該SWF-JS橋是嗎?

回答

0

您可以通過objectID

ExternalInterface.call("GetSoundsObj", ExternalInterface.objectID); 

JS:

var SoundsObj = null; 

function GetSoundsObj(swfId){ 
    SoundsObj = document.getElementById(swfId); 
    alert(SoundsObj.SndPlay); 
} 

請注意,您應該設置在<embed>標籤name屬性以及在id,或者只是使用<object>標籤。

相關問題