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

原文地址:https://www.cnblogs.com/k1988/p/2165712.html