我正在使用 ExternalInterface.call 调用 JS 函数并尝试在 Flash 中获取返回值。当我追踪 op 变量时,我得到 0 而不是 500。我的嵌入代码有问题吗?
嵌入代码:
<embed src="/sites/default/files/flash/flashgame/Preload.swf" width="975" height="572" align="middle" FlashVars="entry=login" quality="high" bgcolor="#ffffff" name="slider" allowScriptAccess="always" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
JS:
function get_current_points(){
// Hardcoded return value for testing
return 500;
}
ActionScript :
var op:Number = ExternalInterface.call("get_current_points") as Number;
最佳答案
@knuckfubuck,我认为您没有使用 RobertBak 指出的正确函数名称。否则,当我在我的 m/c 上运行时,代码完全没问题。
@OXMO456,'as Number' 与此问题无关。在这种情况下,“Number(Ext....)”和“Ext.. as Number”都工作正常。
希望对你有帮助 阿欣。
============================================= ================================
@khuckbuck 回应您的评论,我确信该功能在 Flex 中不可见。尝试在 flex 中使用“if (ExternalInterface.available)”来检查接口(interface)是否可供 flex 访问。这将帮助我们查明问题所在。
关于javascript - 将变量从 ExternalInterface.call() 返回到 Flash,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2279844/