ie9,10 uploadify cleanUp bug

时间:2024-04-03 21:37:02

起因:ie多次加载uploadify3.2版本这个组件的时候,出现了SCRIPT5007: 缺少对象.

 From:http://blog.163.com/xiangfei209@126/blog/static/986956742013610942338/
方法:
源代码:
 SWFUpload.prototype.cleanUp = function(a) {
try {
if (this.movieElement && typeof(a.CallFunction) === "unknown") {
this.debug("Removing Flash functions hooks (this should only run in IE and should prevent memory leaks)");
for (var c in a) {
try {
if (typeof(a[c]) === "function") {
a[c] = null
}
} catch(b) {}
}
}
} catch(d) {}
window.__flash__removeCallback = function(e, f) {
try {
if (e) {
e[f] = null
}
} catch(g) {}
}
};
修正代码:
 SWFUpload.prototype.cleanUp = function(f) {
try {
if (this.movieElement && typeof(f.CallFunction) === "unknown") {
this.debug("Removing Flash functions hooks (this should only run in IE and should prevent memory leaks)");
for (var h in f) {
try {
if (typeof(f[h]) === "function" && h[0] >= 'A' && h[0] <= 'Z') {
f[h] = null;
}
} catch(e) { }
}
}
} catch(g) { } window.__flash__removeCallback = function(c, b) {
try {
if (c) {
c[b] = null;
}
} catch(a) {}
};
};