您好我在我的应用程序中尝试使用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
,但是当我在应用中导航并且给出时,它并不总是有效有时在载入路线之前,我会看到一个白色屏幕。
对此有任何好建议的人?
答案 0 :(得分:1)
我最终将目标更改为不通过执行
覆盖原始FileReader
<clobbers target="window.FileReaders" />
而不是<clobbers target="window.FileReader" />
可能不是最佳解决方案,但现在可行。