FileReader覆盖了Ionic,cordova文件

时间:2015-12-14 17:22:59

标签: javascript cordova ionic-framework ionic

您好我在我的应用程序中尝试使用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

在他们的构造函数中,他们保存了原始的FileReader"作为_realReader

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

document.addEventListener('deviceready', function () { /* above function */ });

这样代码在被插件覆盖之前就不会运行,然后使用_realReader,但是当我在应用中导航并且给出时,它并不总是有效有时在载入路线之前,我会看到一个白色屏幕。

对此有任何好建议的人?

1 个答案:

答案 0 :(得分:1)

我最终将目标更改为不通过执行

覆盖原始FileReader

<clobbers target="window.FileReaders" />

而不是<clobbers target="window.FileReader" />

可能不是最佳解决方案,但现在可行。