我正尝试使用以下代码测试Phonegap(this one)中的File API:
<html>
<head>
<title>PhoneGap File test</title>
<script src="phonegap.js"></script>
<script type="text/javascript" charset="utf-8">
function onDeviceReady() {
alert("devceReady");
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0,
successCallback, error);
}
function successCallback(fileSystem) {
alert("successCallback");
console.log(fileSystem.root);
fileSystem.root.getDirectory("turdBurgle",
{create: true, exclusive: false}, onGetDirectorySuccess,
onGetDirectoryFail);
}
function error() {
alert('error function fired');
}
function onGetDirectorySuccess(dir) {
console.log("Created dir "+dir.name);
}
function onGetDirectoryFail(error) {
console.log("Error creating directory "+error.code);
}
document.addEventListener("deviceready", onDeviceReady, false);
</script>
</head>
<body>
<script src="http://192.168.1.200:8080/target/target-script-min.js#anonymous"></script>
</body>
起初我以为什么都没发生 - 控制台里没有任何东西表明onDeviceReady
被解雇了。但是,在我向主体添加了一个按钮并发出onClick
指令以解除onDeviceReady
之后,我看到点按了三次按钮onDeviceReady
DID就会发生火灾......但是它发了三次。除此之外,一切都按照您的预期执行...目录在适当的位置创建,没有错误。
我尝试添加onLoad
侦听器,以确保在设备尝试执行successCallback
之前加载DOM,但症状仍然相同。