diff options
author | Aleksander Machniak <alec@alec.pl> | 2013-10-16 09:10:47 +0200 |
---|---|---|
committer | Aleksander Machniak <alec@alec.pl> | 2013-10-16 09:11:33 +0200 |
commit | 5aa6f6203dff9c5551dd40c788db6274037752bb (patch) | |
tree | b6154a8f7f4cec8adf7996c9319c989e36201ef7 | |
parent | acbf6eede613a5496cabccbdbfcb2f4e2cbd60d2 (diff) |
Fix iframe onload for upload errors handling (#1489379)
-rw-r--r-- | CHANGELOG | 1 | ||||
-rw-r--r-- | program/js/app.js | 22 |
2 files changed, 11 insertions, 12 deletions
@@ -1,6 +1,7 @@ CHANGELOG Roundcube Webmail =========================== +- Fix iframe onload for upload errors handling (#1489379) - Fix address matching in Return-Path header on identity selection (#1489374) - Fix text wrapping issue with long unwrappable lines (#1489371) - Fixed mispelling: occured -> occurred (#1489366) diff --git a/program/js/app.js b/program/js/app.js index 48727e851..0c3639ca2 100644 --- a/program/js/app.js +++ b/program/js/app.js @@ -6421,7 +6421,7 @@ function rcube_webmail() // post the given form to a hidden iframe this.async_upload_form = function(form, action, onload) { - var ts = new Date().getTime(), + var frame, ts = new Date().getTime(), frame_name = 'rcmupload'+ts; // upload progress support @@ -6440,21 +6440,19 @@ function rcube_webmail() // have to do it this way for IE // otherwise the form will be posted to a new window if (document.all) { - var html = '<iframe name="'+frame_name+'" src="program/resources/blank.gif" style="width:0;height:0;visibility:hidden;"></iframe>'; - document.body.insertAdjacentHTML('BeforeEnd', html); + 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+'"]'); } - else { // for standards-compilant browsers - var frame = document.createElement('iframe'); - frame.name = frame_name; - frame.style.border = 'none'; - frame.style.width = 0; - frame.style.height = 0; - frame.style.visibility = 'hidden'; - document.body.appendChild(frame); + // 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 - $(frame_name).bind('load', {ts:ts}, onload); + frame.bind('load', {ts:ts}, onload); $(form).attr({ target: frame_name, |