Uploadify provoca error en IE 7/8
-
06-07-2019 - |
Pregunta
Por alguna razón cuando cargo una página con uploadify, en IE 8 obtengo esto Detalles de error de página web
Agente de usuario: Mozilla / 4.0 (compatible; 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 ) Marca de tiempo: dom, 29 de noviembre de 2009 01:36:52 UTC
Mensaje: el objeto no admite esta propiedad o método Línea: 26 Char: 86 Código: 0 URI: jquery.uploadify.v2.1.0.min.js
Esto funciona bien en FF y Safari Chrome
Mi 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 es la línea de la versión un Min:
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);
Solución
Me he enfrentado a este problema. Esto sucede porque Uploadify usa 'configuración' en esa línea y, si tiene una identificación llamada 'configuración' en su html, entonces Uploadify lanza una excepción en IE. Parece que FF y Safari ignoran este problema. Por lo tanto, no guarde ningún identificador llamado 'configuración' en el html de su página que contiene el componente Uploadify y debería ser bueno :)
Otros consejos
Algo que acabo de descubrir es que en IE, si el área de carga está oculta cuando se inicializa el archivo swf, el evento uploadify onOpen () nunca se dispara y la carga del archivo nunca comienza. Por lo tanto, asegúrese de que el div en el que se cargan sus pistas no se oculta con css para que se muestre más adelante en el momento en que se inicia la función uploadify o no active la función hasta que se muestre el div del área de activos. >
¿Puedes intentar usar la versión no minimizada de Jquery y publicar la línea en cuestión? De esa manera, alguien puede tener sentido del mensaje de error.
Bueno, el problema es que su IE no tiene instalada una versión Flash.
Para que el script uploadify no inicie la variable swfuploadify
porque la variable flashInstalled
es false
.
Instale una versión Flash para su navegador o use la versión HTML5
Y si tiene otro error en IE como Objeto esperado
, la siguiente página debería resolverlo: Enlace