From d7d2a5dd2b9539a3f6281611358b24e620aa0f7a Mon Sep 17 00:00:00 2001 From: Jared Hancock <jared@osticket.com> Date: Fri, 27 Feb 2015 08:25:44 -0600 Subject: [PATCH] filedrop: Support Firefox down to v6 Also, give a "Browser not supported" error for browsers which do not support the Blob constructor. --- js/filedrop.field.js | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/js/filedrop.field.js b/js/filedrop.field.js index 63b4b456a..d25c0d461 100644 --- a/js/filedrop.field.js +++ b/js/filedrop.field.js @@ -330,7 +330,8 @@ globalProgressUpdated: empty, speedUpdated: empty }, - errors = ["BrowserNotSupported", "TooManyFiles", "FileTooLarge", "FileTypeNotAllowed", "NotFound", "NotReadable", "AbortError", "ReadError", "FileExtensionNotAllowed"]; + errors = ["BrowserNotSupported", "TooManyFiles", "FileTooLarge", "FileTypeNotAllowed", "NotFound", "NotReadable", "AbortError", "ReadError", "FileExtensionNotAllowed"], + Blob = window.WebKitBlob || window.MozBlob || window.Blob; $.fn.filedrop = function(options) { var opts = $.extend({}, default_opts, options), @@ -380,8 +381,7 @@ var dashdash = '--', crlf = '\r\n', builder = [], - paramname = opts.paramname, - Blob = window.WebKitBlob || window.Blob; + paramname = opts.paramname; if (opts.data) { var params = $.param(opts.data).replace(/\+/g, '%20').split(/&/); @@ -477,6 +477,10 @@ opts.error(errors[0]); return false; } + if (typeof Blob === "undefined") { + opts.error(errors[0]); + return false; + } if (opts.allowedfiletypes.push && opts.allowedfiletypes.length) { for(var fileIndex = files.length;fileIndex--;) { -- GitLab