Cordova 2.1.0 で ios アプリを開発しています。
「deviceready」イベントが発火してもファイルシステムが利用できないようです。
window.onload = function (){
document.addEventListener("deviceready", getSettings(), false);
}
function getSettings(){
fileSys('settings.txt', 'getContent', null);
}
function fileSys(fileName, action, data){
alert('hello'); // fires
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, fail);
alert('hello'); // does not fire
//rest of the script breaks
}
ファイルシステムを要求した後、スクリプトが中断します。ただし、fileSys() への呼び出しを setTimeout でラップすると、機能します。例:
window.onload = function (){
document.addEventListener("deviceready", getSettings(), false);
}
function getSettings(){
setTimeout(function(){
fileSys('settings.txt', 'getContent', null);
}, 500);
}
function fileSys(fileName, action, data){
alert('hello'); // fires
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, fail);
alert('hello'); // fires
//script runs fine
}
これに対する解決策はありますか?