Javascript FileReader覆盖了Ionic、cordova文件

Javascript FileReader覆盖了Ionic、cordova文件,javascript,cordova,ionic-framework,ionic,Javascript,Cordova,Ionic Framework,Ionic,嗨,我正在尝试在我的应用程序中使用cordova文件插件,但我遇到了一个小问题 文件插件显然有自己的FileReader构造函数,其中不包括add/removeEventListener部分 问题是我有另一个包需要这个 这是代码 var reader = new FileReader() function onLoadEnd (e) { reader.removeEventListener('loadend', onLoadEnd, false) if (e.error

嗨,我正在尝试在我的应用程序中使用cordova文件插件,但我遇到了一个小问题

文件插件显然有自己的
FileReader
构造函数,其中不包括add/removeEventListener部分

问题是我有另一个包需要这个

这是代码

  var reader = new FileReader()

  function onLoadEnd (e) {
    reader.removeEventListener('loadend', onLoadEnd, false)
    if (e.error) cb(e.error)
    else cb(null, toBuffer(reader.result))
  }

  reader.addEventListener('loadend', onLoadEnd, false)
  reader.readAsArrayBuffer(blob)
我曾尝试将cordova文件的构造函数重命名为其他名称,但它似乎仍然覆盖了原始的
FileReader

在它们的构造函数中,它们将“原始文件读取器”保存为
\u realReader

我能够解决这个问题的唯一方法是将代码包装到

document.addEventListener('deviceready', function () { /* above function */ });
这样,代码在被插件覆盖之前不会运行,然后使用
\u realReader
,但当我在应用程序中导航时,这并不总是起作用,有时在加载路线之前会给我一个白色屏幕


有人对此有什么好的建议吗?

我最终改变了目标,不覆盖原始的
文件阅读器

而不是

可能不是最好的解决方案,但现在它起作用了。

在这里检查我的答案: