如何解决Dropzone 是否应该在 IE 10、11 和早期的 Edge 版本中工作
我是第一次进行 Dropzone 安装。从我在文档中看到的,Dropzone 应该支持 IE10+。我遇到了 JS 错误,我想知道我是否做错了什么(是否可以修复?)或者我应该停止用头撞墙。
我使用的是常规 dropzone.js(不是 AMD)。我从 Dropzone 5.7.0 开始,遇到了指向 Symbol.iterator
的错误。我已经更新到 5.7.2,所以我现在无法重现该错误。但是,它在 this thread 中被引用。我尝试了线程建议的内容,但找不到相同的代码(该线程适用于 AMD 版本)。我还为 polyfill.io 尝试了不同的选项,我在代码中看到了一些荒谬的注释。没有运气。
我尝试了 5.7.2 版,但在第 25 行出现了不同的错误:“抛出异常但未捕获”。此段在控制台中被挑出:
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable,non-array objects must have a [Symbol.iterator]() method.");
这是整个功能。它包含在一行中,但我在此处对其进行了美化:
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;
}
},};
}
我也尝试了 polyfills,但没有成功。我没有发现任何关于这个特定错误的信息。虽然我并不太关心支持,但我确实有一些客户坚持使用 IE11 和/或早期 Edge。
所以,基本上,有没有人让它在 IE 和旧版本的 Edge 中工作?
TIA
蒂姆
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。