Удаление экземпляра swfUpload - PullRequest
2 голосов
/ 06 апреля 2011

У меня есть экземпляр swfUpload, который я хочу отключить после успешной загрузки.Я пробовал метод уничтожения, но это вызвало много проблем с JavaScript.Итак, что я сделал, когда сработало событие uploadSuccess, я получил свой div и установил его отображение на none.Затем я установил innerHTML другого div, чтобы показать миниатюру загруженного видео.Он отлично работает на всех браузерах, кроме Internet Explorer, где он показывает:

Сообщение:

Исключение выдается и не перехватывается Строка: 451 Символ: 2 Код: 0 URI: / js / swfupload/swfupload.js

и кнопка отправки моей формы не работает.

Вот неисправная функция

SWFUpload.prototype.callFlash = function (functionName, argumentArray) {
argumentArray = argumentArray || [];

var movieElement = this.getMovieElement();
var returnValue, returnString;

// Flash's method if calling ExternalInterface methods (code adapted from MooTools).
try {
    returnString = movieElement.CallFunction('<invoke name="' + functionName + '" returntype="javascript">' + __flash__argumentsToXML(argumentArray, 0) + '</invoke>');
    returnValue = eval(returnString);
} catch (ex) {
    throw "Call to " + functionName + " failed";
}

// Unescape file post param values
if (returnValue != undefined && typeof returnValue.post === "object") {
    returnValue = this.unescapeFilePostParams(returnValue);
}

return returnValue;

};

И событие uploadSuccess:

function uploadSuccess(file, serverData) {
if (serverData != "")
{
    this.uploadError(file, SWFUpload.UPLOAD_ERROR.HTTP_ERROR, serverData);
}
else
{
    try {
        var progress = new FileProgress(file, this.customSettings.progressTarget);
        progress.setComplete();
        if (this.customSettings.langue == "fr")
        {
            progress.setStatus("Complété.");
        }
        else
        {
            progress.setStatus("Complete.");
        }
        progress.toggleCancel(false);

        document.getElementById("preview").innerHTML = "<div id='cadre-image'><input type='hidden' name='txtFichier' value='" + file.name + "'><img id='imgPreview' src='images/thumbnailVideo.php?src=" + file.name + "&save=true' /><p>" + file.name + "</p></div>";
        document.getElementById("tdAjouter").innerHTML = "<input type='submit' value='Ajouter' />";
        var divupload = document.getElementById("upload");
        divupload.style.display = "none";

    } catch (ex) {
        this.debug(ex);
    }
}

}

...