我正在使用CKEditor将一些文件拖到编辑器上。为什么instanceof在Chrome,Safari和Edge上返回false,在FireFox上是否为true?
我在drop事件中看到了这种奇怪的行为。在检查事件对象时,我可以使用files
属性。调试器显示此类型为FileList
。但是,当我做files instanceof FileList
时,我在Chrome,Safari和Edge中获得false
,在FireFox中获得true
(请参阅this fiddle)。
这是怎么回事?
似乎它必须与CKEditor如何路由事件有关,因为如果没有CKEditor,它看起来确实有效。这是一个basic file drag-drop jsfiddle我叉,以便它打印instanceof FileList
。
我正在通过做Object.prototype.toString.call(files) == "[object FileList]"
来解决这个问题。但这似乎不是一个好的长期解决方案。
编辑:我对铬公布a bug report,因为我觉得这是一件在Chrome中包含的回答这个问题,这是错误的