flash - 在 __flash__addCallback 中发生问题
当我使用 Flash Builder 在调试模式下运行应用程序时,我收到以下错误:
对象不支持此属性或方法
(请注意,此错误信息来自浏览器。)
这里是出现问题的代码:
function __flash__addCallback(instance, name) {
instance[name] = function () {
return eval(instance.CallFunction("<invoke name=\""+name+"\" returntype=\"javascript\">" + __flash__argumentsToXML(arguments,0) + "</invoke>"));
}
}
我完全不知道这个代码在哪里(除了它不是我的代码之外)。
有人知道这里出了什么问题吗?
答案#1
我遇到过同样的问题。原因出在我的 Flash 中,我们将“stop”作为回调添加到 ExternalInterface。将其更改为 stopMe 或任何适合你的名称,就能解决这个问题。
根据我的最佳猜测以及我在其他帖子上阅读到的内容,IE8和某些版本的火狐浏览器确实不喜欢你在回调中使用某些词。就好像它们把这些词当作保留字一样,并阻止你使用它们。
解决这个问题的唯一方法是不使用那些词。我没有看到具体的清单,但以下词语曾被提到过:
- 玩
- 停止
- 暂停
- 长度
参考 drupal.org/node/746044 digitarald.de/forums/topic.php?id=315
答案#2
你使用的是哪个版本的 Flash Builder?这里有一些关于 Flash Builder 4 的调试相关说明。不过我没有尝试过,不确定在你遇到的问题上下文中是否有效。
http://help.adobe.com/en_US/flashbuilder/using/WS6f97d7caa66ef6eb1e63e3d11b6c4d0d21-7f07.html
如果那样没有帮助(可能是因为错误来自浏览器),你可能可以使用例如 Visual Studio 的脚本调试器,或者通过第三方插件(搜索 IE 的 DebugBar)等来调试 IE。再说一次,不确定这在 Flash 环境下是否有用。Firebug 有对 Flash 的支持和/或扩展用于跟踪 Flash,但如果上述链接没有帮助,我不确定在 IE 中有什么用于 Flash 调试的工具。
请注意,我认为现在有免费的 Visual Studio 版本,但你仍然必须安装它才能在 IE 中调试客户端脚本,这仍然很麻烦,而不像在 Firefox 中使用像 Firebug 这样易于安装的插件那样方便——如果可能的话。