我调查了很多问题,但这些都没有解决我的问题。
我已经安装了文件插件。
当我键入 `cordova plugin ls 时,我得到以下结果:
[ 'org.apache.cordova.file' ]
在 androidmanifest.xml 我有:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
在 app/res/xml/config.xml 中我有:
<feature name="File">
<param name="android-package" value="org.apache.cordova.file.FileUtils" />
</feature>
这是我的代码:
document.addEventListener("deviceready", onDeviceReady, false);
// device APIs are available
//
function onDeviceReady() {
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, fail);
}
function gotFS(fileSystem) {
fileSystem.root.getFile("readme.txt", null, gotFileEntry, fail);
}
function gotFileEntry(fileEntry) {
fileEntry.file(gotFile, fail);
}
function gotFile(file){
readDataUrl(file);
readAsText(file);
}
function readDataUrl(file) {
var reader = new FileReader();
reader.onloadend = function(evt) {
console.log("Read as data URL");
console.log(evt.target.result);
};
reader.readAsDataURL(file);
}
function readAsText(file) {
var reader = new FileReader();
reader.onloadend = function(evt) {
console.log("Read as text");
console.log(evt.target.result);
document.getElementById('file_status').innerHTML = evt.target.result;
};
reader.readAsText(file);
}
function fail(error) {
console.log(error.code);
}
我做错了什么?
最佳答案
我只是在这个问题上苦苦挣扎了很多时间。
对我来说,问题是 jQuery 文档就绪事件不会在 Android(Cordova、Phonegap)上触发,即使您使用的是 Crosswalk 引擎!
您必须将任何文档就绪事件切换到:
HTML:
<body onload="onLoad()">
Js:
function onLoad()
{
document.addEventListener("deviceready", onDeviceReady, false);
}
关于android - Uncaught ReferenceError : LocalFileSystem is not defined in CORDOVA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21721481/