IE7下flash报__flash__removeCallback的js错误
遇到此问题,搜索解决方案时找到一帖,遂转之。原帖地址: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 。