Pergunta

Por algum motivo, quando carrego uma página com o upload, no IE 8, recebo os detalhes do erro da página da web

Agente do usuário: Mozilla/4.0 (compatível; msie 8.0; Windows nt 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0) Timestamp: Timestamp: Sun, 29 de novembro de 2009 01:36:52 UTC

Mensagem: Objeto não suporta esta propriedade ou método Linha: 26 Char: 86 Código: 0 URI: jquery.uploadify.v2.1.0.min.js

Isso funciona bem no FF e Safari Chrome

Meu jQuery

$("#upload").uploadify({
    uploader: '/assets/scripts/uploadify/uploadify.swf',
    script: '/post/images/uploadify',
    cancelImg: '/assets/scripts/uploadify/cancel.png',
                                buttonImg: '/assets/images/upload_button.png',
    folder: '/public/tmp',
    scriptAccess: 'always',
                                width: 175,
                                height: 46,
                                wmode: 'transparent',
    multi: false,
                                auto:true,
                                sizeLimit: '2000000',
                                buttonText: ' Upload Profile Image',
    'onError' : function (a, b, c, d) {
         if (d.status == 404)
            alert('Could not find upload script.');
         else if (d.type === "HTTP")
            alert('error '+d.type+": "+d.status);
         else if (d.type ==="File Size")
            alert(c.name+' '+d.type+' Limit: Your file size is too big, our max is 100Kb');
         else
            alert('error '+d.type+": "+d.text);
        },
    'onComplete'   : function (event, queueID, fileObj, response, data) {

        $.ajax({type: "POST",url:"/members/image_preview",data:{filearray: response},success: function(info){
            $("#target").html(info);
            },complete: crop});
    }
    //fileExt: '.jpg,.jpeg,.png,.bmp,.gif'
});

Esta é a linha da versão Min da ONU:

jQuery(this).each(function(){
                    settings = jQuery.extend({
                    id             : jQuery(this).attr('id'), // The ID of the object being Uploadified
                    uploader       : 'uploadify.swf', // The path to the uploadify swf file
                    script         : 'uploadify.php', // The path to the uploadify backend upload script
                    expressInstall : null, // The path to the express install swf file
                    folder         : '', // The path to the upload folder
                    height         : 30, // The height of the flash button
                    width          : 110, // The width of the flash button
                    cancelImg      : 'cancel.png', // The path to the cancel image for the default file queue item container
                    wmode          : 'opaque', // The wmode of the flash file
                    scriptAccess   : 'sameDomain', // Set to "always" to allow script access across domains
                    fileDataName   : 'Filedata', // The name of the file collection object in the backend upload script
                    method         : 'POST', // The method for sending variables to the backend upload script
                    queueSizeLimit : 999, // The maximum size of the file queue
                    simUploadLimit : 1, // The number of simultaneous uploads allowed
                    queueID        : false, // The optional ID of the queue container
                    displayData    : 'percentage', // Set to "speed" to show the upload speed in the default queue item
                    onInit         : function() {}, // Function to run when uploadify is initialized
                    onSelect       : function() {}, // Function to run when a file is selected
                    onQueueFull    : function() {}, // Function to run when the queue reaches capacity
                    onCheck        : function() {}, // Function to run when script checks for duplicate files on the server
                    onCancel       : function() {}, // Function to run when an item is cleared from the queue
                    onError        : function() {}, // Function to run when an upload item returns an error
                    onProgress     : function() {}, // Function to run each time the upload progress is updated
                    onComplete     : function() {}, // Function to run when an upload is completed
                    onAllComplete  : function() {}  // Function to run when all uploads are completed
                }, options);
Foi útil?

Solução

Eu enfrentei esse problema. Isso acontece porque o uploadify usa as 'configurações' nessa linha e, se você tiver um ID denominado 'Configurações' no seu HTML, o upload lança uma exceção no IE. Parece que FF e Safari ignoram esse problema. Então, apenas não mantenha nenhum IDS chamado 'Configurações' no HTML da sua página que contém o componente de upload e você deve ser bom :)

Outras dicas

Algo que acabei de descobrir é que, no IE, se a área de upload estiver oculta quando o arquivo SWF for inicializado, o evento Uploadify Onopen () nunca dispara e o upload do arquivo nunca inicia. Portanto, verifique se o DIV em que suas faixas são carregadas não estão sendo ocultas com CSS a serem exibidas posteriormente no momento em que a função de uploadify inicia ou não dispare a função até que a área da área de ativos seja mostrada.

Você pode tentar usar a versão não minimizada do jQuery e postar a linha em questão? Dessa forma, alguém pode fazer sentido da mensagem de erro.

Bem, o problema é que seu IE não possui uma versão flash instalada.

Para que o script de uploadify não seja inital a variável swfuploadify Porque a variável flashInstalled é false.

Instale uma versão flash para o seu navegador ou use a versão html5

E se você tiver outro erro no IE Like Object expected Em seguida, a página seguinte deve resolvê -la: Link

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top