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