您的位置:首页 > Web前端 > JavaScript

IE7下flash报__flash__removeCallback的js错误

2009-10-22 16:10 302 查看
遇到此问题,搜索解决方案时找到一帖,遂转之。原帖地址:http://liguangming.com/view/728

——————————————————

如果页面里使用了flash,并且flash里使用了flash.external.ExternalInterface.addCallback 方法,刷新网页的使用会报__flash__removeCallback的js错误:缺少对象(Line 53),(Jscript-scriptblock).

函数错误为:

function __flash__removeCallback(instance, name) {
instance[name] = null;
}

调用处为:

__flash__removeCallback(document.getElementById(""), "dewprev");

可以发现这里的document.getElementById("")返回的实例是null,也就难怪__flash__removeCallback会报错了,估计这个flash内置的方法应该做些判断,或许应该写为:

function __flash__removeCallback(instance, name) {
if (instance != null) { instance[name] = null; }
}

反过来想这里的document.getElementById("")到底是要获取哪个对象,经过测试发现,应该是获取flash控件Object对象的id/name属性的,之所以出现这个错误,是因为未给Object设置id/name属性,设置后就不会出错了。

另外推荐下我下IE下使用的js调试工具:CompanionJS
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: