0
我最近更新到科爾多瓦3.4.1然後我開始構建和測試我的項目,發現它有問題。我花了一天半的時間試圖恢復和重建項目,以便它能夠正常工作。我迄今爲止所嘗試的任何東西都沒有奏效科爾多瓦requestFileSystem不再被加載3.4.1
錯誤即時得到:
Uncaught TypeError: Object [object DOMWindow] has no method 'requestFileSystem'
代碼用於產生此錯誤:
var app = {
appRoot: 'cdvfile://localhost/persistent/',
init: function(){
this.bindEvents();
},
bindEvents: function(){
document.addEventListener('deviceready', this.onDeviceReady(this), false);
},
onDeviceReady: function(that){
//location.reload(true);
console.log(Object.keys(window));
console.log(Object.keys(cordova));
window.requestFileSystem(window.PERSISTENT, 0, function(fs){
console.log('we have a fs');
fs.root.getFile(dir+file,{create:true, exclusive: false},function(fileEntry){
console.log('we have a file entry');
var reader = new FileReader();
reader.onloadend = function(evt){
success(evt.target.result);
};
reader.readAsText(dir+file);
},fail);
},fail);
}
};
function fail(e){
var msg = '';
switch (e.code) {
case FileError.QUOTA_EXCEEDED_ERR:
msg = 'QUOTA_EXCEEDED_ERR';
break;
case FileError.NOT_FOUND_ERR:
msg = 'NOT_FOUND_ERR';
break;
case FileError.SECURITY_ERR:
msg = 'SECURITY_ERR';
break;
case FileError.INVALID_MODIFICATION_ERR:
msg = 'INVALID_MODIFICATION_ERR';
break;
case FileError.INVALID_STATE_ERR:
msg = 'INVALID_STATE_ERR';
break;
default:
msg = 'Unknown Error';
break;
};
console.log('Error: ' + msg);
}
app.init();
什麼香港專業教育學院的嘗試:
-
使用以下科爾多瓦版本3.3.1
- 我用盡, 3.4.0,3.4.1,3.5.0
- 我試過使用老版本的t他文件API 1.0.0,1.0.1,1.1.0
- 我試圖從頭開始創建一個新的項目
- 我試圖用建立API版本17,19
- 我曾嘗試在Android 4.2測試.2和4.4.2
我已驗證插件已加載到項目中,並且它已構建到設備上。 Im使用Android SDK附帶的monitor.bat
來觀察控制檯事件和錯誤,並且requestFileSystem只是沒有被注入。
我已經嘗試使用(由here的建議):
location.reload()
和
location.reload(true) //not from cache
,看看是否有與科爾多瓦插件初始化錯誤,但沒有什麼。
有沒有人有什麼可以解決這個問題的更多建議?
你得到的具體錯誤是什麼? –
我用錯誤和代碼示例更新了問題 – Chausser
您的'this.loadConfig'方法中有什麼?此外,它將是'LocalFileSystem.PERSISTENT',而不是'window.PERSISTENT'。 –