【发布时间】:2012-04-07 00:04:35
【问题描述】:
对于这个问题的任何帮助,我将不胜感激。
我试图在单击某个链接时执行 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 不是函数
看起来这是一个无法识别该函数的 javascript 错误。我从该站点获得了大部分代码,我将不胜感激。谢谢!
【问题讨论】:
-
javascript 函数 callExternalInterface() 的代码在哪里?
-
哎呀,抱歉,是错误的代码粘贴。在那里添加它。
-
你试过不同的浏览器吗?
-
当您在 Flash 初始化之前尝试调用函数时,有时会出现时间问题。但是,在这种特殊情况下似乎不太可能。在您按下按钮时,应该加载 Flash。
console.log(thisMovie("swf"))说什么? -
Pumbaa 我不完全确定,我如何获得该日志? (我原始帖子中的错误消息是从 Firebug 控制台发布的)
标签: javascript html flash actionscript