使用swfupload作為上傳組件,artdialog作為彈出窗口,在關(guān)閉彈出窗口時,出現(xiàn)“__flash__removeCallback”未定義錯誤。而且是關(guān)了又出現(xiàn)。網(wǎng)上有些解決方案,主要就是說覆寫“__flash__removeCallback“函數(shù)的定義,這個在swfupload組件中已經(jīng)有了:
// 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) {}};
可是在我這樣的環(huán)境下無效。這個錯誤的解釋就是flash對象在移除文檔時,要調(diào)用這個回調(diào)函數(shù),卻找不到函數(shù)定義。查看了下artdialog的關(guān)閉流程,是html(“”),把內(nèi)容置空。
問題可能出在這,內(nèi)容置空flash對象也就被移除了。而定義有__flash__removeCallback函數(shù)的js文件也被移除了。所以說找不到。解決方法就是,在關(guān)閉窗口前先移除flash對象。
直接移除包含flash對象的父對象。如div.remove();
所以主要的解決方法就是,一確保有上面那段函數(shù)定義,二確保移除flash時,該函數(shù)還可用。
新聞熱點
疑難解答