//読み込み
var res = gotFS_read('textfile');
$('#return').innerText(res);
// ファイル読込処理
function gotFS_read(fname) {
this.text = '';
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, read, fail);
function read(fileSystem){
fileSystem.root.getFile(fname, {}, function(fileEntry) {
fileEntry.file(function(file) {
var reader = new FileReader();
reader.onloadend = function(evt) {
// ここに読み込み完了後の処理を書く
console.log(evt.target.result);
this.text = evt.target.result;
console.log(this.text);
$("#textarea").val(this.text);
alert("正常にテキストを読み込みました。");
return this.text;
};
reader.readAsText(file, "utf-8");
}, fail)
}, fail);
}
}
グローバル変数textでも試してみたのですが、resとして戻り値がなく、undefindとなってしまい、this.textでも試してみたといった感じです。
ちなみに訳あって、phonegap cordova1.5で試しています。
コメント(1件)
http://docs.phonegap.com/en/1.7.0/cordova_file_file.md.html
グローバルなtext変数を参照するために、this.text とするのはよくないと思います。
thisは文脈によって変化するので、単にtextとかwindow.textにするとどうでしょうか。
(そこが不具合の原因かはわかりませんが)。