2014-03-29 53 views
2

此代碼無效。 (從AS3傳遞變量爲Javascript)似乎無法將AS3的變量傳遞給Javascript

AS3(聲明變量,並傳遞到JavaScript)的

var newHeight:Number = new Nubmer(); 
newHeight = 2; 

goHeight(); 

function goHeight():void{ 
if (ExternalInterface.available){ 
ExternalInterface.call("funYa1()", newHeight); 
} 

} 

在HTML的Docment:

<script type="text/javascript"> 

function funYa1(nH) {  
alert("newHeight " + nH); 
}   

</script> 

警報說nH的是不確定的。有任何想法嗎?

回答

3

你必須在第一行

var newHeight:Number = new Nubmer(); 

一個錯字應

var newHeight:Number = new Number(); 

你使用SWFObject嵌入SWF是什麼? 如果是的話,試着加入:

<param name="allowscriptaccess" value="always"> 

你也可以嘗試通過硬編碼字符串,而不是newHeight,看它是否是與變量的一個問題:

ExternalInterface.call("funYa1()", "test"); 

這裏是一個不錯的關於AS3和javascript通訊文章:

http://circlecube.com/2010/12/actionscript-as3-javascript-call-flash-to-and-from-javascript/

2

警報說nH是不確定的,因爲你在呼叫中有大括號。在這種情況下,參數不被傳遞。替換該行

ExternalInterface.call("funYa1()", newHeight); 

ExternalInterface.call("funYa1", newHeight); 

和參數應交付爲JavaScript。

+0

!!謝謝 !! – user2268083

+0

+1斑點 –