问题描述
使用swfupload作为上传组件,artdialog作为弹出窗口,在关闭弹出窗口时,提示“__flash__removeCallback”未定义错误。
原因
swfupload中的flash对象销毁前时会回调__flash__removeCallback函数,该函数的定义如下:
// Fix Flashes own cleanup code so if the SWFMovie was removed from the page
// it doesn't display errors.
window["__flash__removeCallback"] = function (instance, name) {
try {
if (instance) {
instance[name] = null;
}
} catch (flashEx) {
}
};
关闭artdialog窗口时,页面的js等内容也随iframe一起销毁掉,故找不到__flash__removeCallback函数的定义。
解决方法
方法一:在关闭artdialog前,直接调用swfupload中的cleanUp函数清除影片绑定的函数,此种方法逻辑上可行但本人测试失败,测