我很感謝這個問題的任何幫助。來自JS的調用actionscript函數
我試圖執行一個AS功能,當某個鏈接被點擊,但我不能得到它的工作。我運行的代碼如下:
在我的對象構造函數中,我有以下行:
ExternalInterface.addCallback("methodName",methodName);
和我的函數的定義(在構造函數外)如下:
function methodName()
{
//functioncode here
}
在我的html文件中,javascript代碼如下:
<script type="text/javascript">
function callExternalInterface() {
thisMovie("swf").methodName();
}
function thisMovie(movieName) {
if (navigator.appName.indexOf("Microsoft") != -1) {
return window[movieName]
}
else {
return document[movieName]
}
}
</script>
按鈕調用代碼上述功能:
<input type="button" onclick="callExternalInterface()" value="Call ExternalInterface" />
flash對象嵌入方式如下:
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="655" height="324" align="middle" id="swf" name="swf">
<param name="allowScriptAccess" value="always">
<param name="allowFullScreen" value="false">
<param name="movie" value="flash1.swf">
<param name="menu" value="false">
<param name="quality" value="best">
<param name="bgcolor" value="#f3f3f3">
<embed src="flash1.swf" menu="false" quality="best" bgcolor="#f3f3f3" width="655" height="324" align="middle" allowScriptAccess="always" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer" id="swf" name="swf">
</object>
據Firebug控制檯,當我點擊該按鈕時,我收到以下錯誤:
thisMovie("swf").methodName is not a function
它看起來像是一個JavaScript錯誤,不能識別函數。我從這個網站獲得了大部分代碼,我很感激任何幫助。謝謝!
wheres JavaScript函數callExternalInterface()的代碼? – 2012-04-07 00:09:22
哎呀,對不起,是一個糟糕的代碼粘貼。在那裏添加它。 – 2012-04-07 00:28:24
你嘗試過不同的瀏覽器嗎? – K2xL 2012-04-07 04:43:43