| | |
| | | // post the given form to a hidden iframe |
| | | this.async_upload_form = function(form, action, onload) |
| | | { |
| | | var frame, ts = new Date().getTime(), |
| | | frame_name = 'rcmupload'+ts; |
| | | // create hidden iframe |
| | | var ts = new Date().getTime(), |
| | | frame_name = 'rcmupload' + ts, |
| | | frame = this.async_upload_form_frame(frame_name); |
| | | |
| | | // upload progress support |
| | | if (this.env.upload_progress_name) { |
| | |
| | | field.val(ts); |
| | | } |
| | | |
| | | // have to do it this way for IE |
| | | // otherwise the form will be posted to a new window |
| | | if (document.all) { |
| | | document.body.insertAdjacentHTML('BeforeEnd', '<iframe name="'+frame_name+'"' |
| | | + ' src="program/resources/blank.gif" style="width:0;height:0;visibility:hidden;"></iframe>'); |
| | | frame = $('iframe[name="'+frame_name+'"]'); |
| | | } |
| | | // for standards-compliant browsers |
| | | else { |
| | | frame = $('<iframe>').attr('name', frame_name) |
| | | .css({border: 'none', width: 0, height: 0, visibility: 'hidden'}) |
| | | .appendTo(document.body); |
| | | } |
| | | |
| | | // handle upload errors, parsing iframe content in onload |
| | | // handle upload errors by parsing iframe content in onload |
| | | frame.bind('load', {ts:ts}, onload); |
| | | |
| | | $(form).attr({ |
| | |
| | | return frame_name; |
| | | }; |
| | | |
| | | // create iframe element for files upload |
| | | this.async_upload_form_frame = function(name) |
| | | { |
| | | return $('<iframe>').attr({name: name, style: 'border: none; width: 0; height: 0; visibility: hidden'}) |
| | | .appendTo(document.body); |
| | | }; |
| | | |
| | | // html5 file-drop API |
| | | this.document_drag_hover = function(e, over) |
| | | { |