【发布时间】:2015-09-29 18:54:48
【问题描述】:
<html>
<head>
<title>FileWriter Example</title>
<script type="text/javascript" charset="utf-8" src="cordova-1.9.0.js"></script>
<script type="text/javascript" charset="utf-8">
funtion init()
{
document.addEventListener("deviceready", onDeviceReady, false);
}
function onDeviceReady() {
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, fail);
}
function gotFS(fileSystem) {
fileSystem.root.getFile("readme.txt", {create: true, exclusive: false}, gotFileEntry, fail);
}
function gotFileEntry(fileEntry) {
fileEntry.createWriter(gotFileWriter, fail);
fileEntry.createWriter(win, fail);
fileEntry.file(gotFile, fail);
}
function gotFileWriter(writer) {
writer.onwriteend = function(evt) {
writer.truncate(100);
writer.onwriteend = function(evt) {
writer.seek(4);
writer.write(" different text +");
writer.onwriteend = function(evt){
writer.write("contents of file now 'sihesh'");
}
};
};
}
function gotFile(file){
readAsText(file);
}
function readAsText(file) {
var reader = new FileReader();
reader.onloadend = function(evt) {
alert("Read as text");
alert(evt.target.result);
};
reader.readAsText(file);
alert("success");
}
function win(writer) {
writer.onwrite = function(evt) {
console.log("write success");
};
writer.seek(writer.length);
writer.write("appended text");
alert("Append hogya na baa");
};
var fail = function(evt) {
console.log(error.code);
};
function fail(evt) {
console.log(evt.target.error.code);
}
function fail(error) {
console.log(error.code);
}
</script>
</head>
<body onload="init()">
<input type="button" id="b1" value="Write" onClick="gotFileWriter()"/><br>
<input type="button" id="b2" value="Read" onClick="readAsText()" /><br>
<input type="button" id="b3" value="Append"/><br>
<input type="button" id="b4" value="Delete"/><br>
<p>Write File</p>
</body>
</html>
基本上我想要的是点击写入按钮它应该将内容写入文件并点击读取按钮它应该检索并显示它但是发生的事情是因为设备准备好这些函数会自动一个接一个地调用所以那里没有使用按钮上的点击方法,但我想要的是它应该写入的写入按钮的点击,以及它应该读取的读取按钮的点击。
所以请任何人帮助我解决我的问题。 :(
注意:当我通过 gotFileWriter() 方法(没有设备准备好)点击写入器时,它会给出以下错误。 09-30 00:16:10.112:E/Web 控制台(829):TypeError:表达式“文件”[未定义] 的结果不是对象。在文件:///android_asset/www/cordova-1.9.0.js:2404
【问题讨论】:
-
init方法声明在哪里?为什么会有fail函数定义 -
我已经对代码进行了更改先生。请再次检查代码:)
-
为什么会有三个
fail函数定义 -
onload="init()"是不必要的,因此请从代码中删除funtion init()。document.addEventListener("deviceready", onDeviceReady, false);就够了 -
将科尔多瓦的版本更新到至少 3.5.1。因为,谷歌商店要求这个要求
标签: javascript android jquery cordova phonegap-plugins