我很容易解释问题,但我还没有找到该问题的答案。
在下面的代码中,一切正常。表示调用将一些文本记录到控制台的回调方法并且文件系统已准备好。
但是:只要我在requestQuota()
方法调用之后添加一个 alert()-Box,我的回调方法就永远不会被调用(handleError 回调方法也没有)。
(这仅出现在 Google Chrome 中,因为它是唯一支持 FileApi 的浏览器。)
对我来说,如果您在后面添加阻塞警报语句,Google Chrome 似乎会失去该回调方法的句柄。但这真的不应该!?!或者还有其他原因吗?
// Note: The file system has been prefixed as of Google Chrome 12:
window.requestFileSystem = window.requestFileSystem || window.webkitRequestFileSystem;
//ask for permission
window.webkitStorageInfo.requestQuota(PERSISTENT, SIZEINBYTES, function(grantedBytes) {
window.requestFileSystem(PERSISTENT, grantedBytes, function(fileSystem){
console.log("Callback method: The file system for chrome is ready.");
}, handleError);
}, handleError);
//Add: alert("requested."); --> Callback method isn't called...