Question

For some reason when I load a page with uploadify, in IE 8 I get this Webpage error details

User Agent: 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) Timestamp: Sun, 29 Nov 2009 01:36:52 UTC

Message: Object doesn't support this property or method Line: 26 Char: 86 Code: 0 URI: jquery.uploadify.v2.1.0.min.js

This works fine in FF and Safari Chrome

My 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'
});

This is the line from the un Min version:

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);
Was it helpful?

Solution

I have faced this issue. This happens because Uploadify uses 'settings' on that line and, if you have an id named 'settings' in your html, then Uploadify throws an exception in IE. Seems like FF and Safari ignore this problem. So, just don't keep any ids named 'settings' in the html of your page which contains the Uploadify component and you should be good :)

OTHER TIPS

Something that I just discovered is that in IE, if the upload area is hidden when the swf file is initialized, the uploadify onOpen() event never fires and the file upload never starts. So, make sure that the div that your tracks are uploaded in aren't being hidden with css to be displayed later at the moment the uploadify function starts or don't fire off the function until the asset area div is shown.

Can you try using the un-minimized version of Jquery and post the line in question? That way, somebody may be able to make sense out of the error message.

Well the Problem is, that your IE doesn't have a Flash-Version installed.

So that the uploadify-script doesn't inital the variable swfuploadify because the variable flashInstalled is false.

Install a Flash-Version for your browser or use the HTML5-Version

And if you have another Error in IE like Object expected then the following page should solve it : Link

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top