嗨,我正在尝试在我的应用程序中使用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
,但是在我浏览应用程序时,该代码并不总是有效,有时会在加载路线之前为我提供白屏。有什么好的建议吗?
最佳答案
我最终通过执行以下操作将目标更改为不覆盖原始FileReader
<clobbers target="window.FileReaders" />
代替<clobbers target="window.FileReader" />
可能不是最好的解决方案,但现在可以使用。
关于javascript - FileReader覆盖了Ionic,cordova文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34273003/