I am working on a Dropzone installation for the first time. From what I have seen in the docs, Dropzone should support IE10+. I am getting JS errors and I'm wondering if I am doing something wrong (is it fixable?) or should I quit beating my head against the wall.
I am using the regular dropzone.js (not the AMD). I started with Dropzone 5.7.0 and got errors pointing to Symbol.iterator
. I have since updated to 5.7.2, so I can't reproduce the error right now. However, it is referenced in this thread. I tried what the thread suggested but couldn't find the same code (the thread was for the AMD version). I also tried different options for polyfill.io and I see some bable comments in the code itself. No luck.
I tried version 5.7.2 and got a different error: "Exception thrown and not caught" on line 25. This segment is singled out in the console:
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
This is the entire function. It is contained on a single line, but I have prettified it here:
function _createForOfIteratorHelper(o, allowArrayLike) {
var it;
if (typeof Symbol === 'undefined' || o[Symbol.iterator] == null) {
if (
Array.isArray(o) ||
(it = _unsupportedIterableToArray(o)) ||
(allowArrayLike && o && typeof o.length === 'number')
) {
if (it) o = it;
var i = 0;
var F = function F() {};
return {
s: F,
n: function n() {
if (i >= o.length) return { done: true };
return { done: false, value: o[i++] };
},
e: function e(_e) {
throw _e;
},
f: F,
};
}
throw new TypeError(
'Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.'
);
}
var normalCompletion = true,
didErr = false,
err;
return {
s: function s() {
it = o[Symbol.iterator]();
},
n: function n() {
var step = it.next();
normalCompletion = step.done;
return step;
},
e: function e(_e2) {
didErr = true;
err = _e2;
},
f: function f() {
try {
if (!normalCompletion && it['return'] != null) it['return']();
} finally {
if (didErr) throw err;
}
},
};
}
I tried polyfills on this too with no luck. I haven't found anything on this specific error. While I'm not overly concerned about support, I do have a few customers who are stuck on IE11 and/or early Edge.
So, basically, has anyone gotten this to work in IE and older versions of Edge?
TIA
Tim