Javascript Windows.requestFileSystem在3.3.0版中未定义

Javascript Windows.requestFileSystem在3.3.0版中未定义,javascript,ios,apache,cordova,Javascript,Ios,Apache,Cordova,我在一个我已经开发了一段时间的应用程序上使用了Cordova(带iOS)。在过去,我能够很好地访问文件系统 我通过命令行界面安装了cordova 3.3.0 with Node,并添加了我所需的所有插件(几乎所有的插件——当然包括文件) 当我列出插件时,我得到: Michaels MacBook Pro:你好,michael$cordova插件ls [ 'org.apache.cordova.battery-status', 'org.apache.cordova.console', 'org.

我在一个我已经开发了一段时间的应用程序上使用了Cordova(带iOS)。在过去,我能够很好地访问文件系统

我通过命令行界面安装了cordova 3.3.0 with Node,并添加了我所需的所有插件(几乎所有的插件——当然包括文件)

当我列出插件时,我得到: Michaels MacBook Pro:你好,michael$cordova插件ls

[ 'org.apache.cordova.battery-status',
'org.apache.cordova.console',
'org.apache.cordova.device-motion',
'org.apache.cordova.device-orientation',
'org.apache.cordova.dialogs',
'org.apache.cordova.file',
etc....']
但是,我尝试运行以下测试代码:请注意,代码位于index.js文件中,该文件在index.html中被正确引用

Index.html引用:

 script type="text/javascript" src="cordova.js"
 script type="text/javascript" src="js/index.js"
document.addEventListener("deviceready", onDeviceReady, false);

function onDeviceReady() {
    alert("ready");
    window.requestFileSystem(LocalFileSystem.PERSISTENT, 5*1024*1024, gotFS, fail);
}

function gotFS(fileSystem) {
   alert("got fs");
   alert(fileSystem.root.fullPath);
}
index.js:

 script type="text/javascript" src="cordova.js"
 script type="text/javascript" src="js/index.js"
document.addEventListener("deviceready", onDeviceReady, false);

function onDeviceReady() {
    alert("ready");
    window.requestFileSystem(LocalFileSystem.PERSISTENT, 5*1024*1024, gotFS, fail);
}

function gotFS(fileSystem) {
   alert("got fs");
   alert(fileSystem.root.fullPath);
}
我得到的只是“准备好” 如果我尝试发出警报(window.requestFileSystem);我没有定义

有人能帮我解决一下吗?我看不出它为什么不起作用

任何帮助都将不胜感激

亲切问候,


Michael Mac Donald

如果您在chrome中测试应用程序,您可能需要在第一次运行此程序以在文件系统上保留一些空间:

// Request Quota (only for File System API)  
window.webkitStorageInfo.requestQuota(PERSISTENT, 1024*1024, function(grantedBytes) {
  window.webkitRequestFileSystem(PERSISTENT, grantedBytes, onInitFs, errorHandler); 
}, function(e) {
  console.log('Error', e); 
});
更多信息请访问


我不确定这个解决方案是否适合您的情况,正如您所说,您的应用程序在过去工作过,但试一试。

您添加了文件传输插件吗

cordova plugin add org.apache.cordova.file-transfer

谢谢Sergio,不过我不会在Chrome上测试我的应用程序。我正在使用内置iOS模拟器的xcode