尝试使用Cordova插件在基本Meteor应用中访问文件系统。
设置如下:
创建项目命令:流星创建文件2
添加了Cordova插件,命令:流星添加cordova:cordova-plugin-file@6.0.1
但是, document.addEventListener(“ deviceready”,onDeviceReady,false); 不开火。
Javascript控制台显示: 已从Meteor.startup发布设备就绪
这是我在main.js中的代码:
function onDeviceReady() {
// Now safe to use device APIs
console.log('deviceready completed');
getPFile();
}
Meteor.startup(function() {
console.log('Issuing deviceready from Meteor.startup');
document.addEventListener("deviceready", onDeviceReady, false);
});
function getPFile() {
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function (fs) {
console.log('file system open: ' + fs.name);
fs.root.getFile("newPersistentFile.txt", { create: true, exclusive: false }, function (fileEntry) {
console.log("fileEntry is file?" + fileEntry.isFile.toString());
writeFile(fileEntry, null);
}, onErrorCreateFile);
}, onErrorLoadFs);
}
我也尝试插入:
<script type="text/javascript" charset="utf-8" src="cordova.js">
</script>
在main.html中,但是JavaScript控制台随后显示错误
SyntaxError: Unexpected token '<'
在Cordova.js中
有人可以提出解决方案吗?
答案 0 :(得分:0)
我尝试通过在onDeviceReady之后添加括号来更改addEventListener语句,该设备现在调用函数onDeviceReady函数,而不仅仅是如下所述:
document.addEventListener("deviceready", onDeviceReady(), false);
但是,我意识到这会在deviceready事件得到满足之前调用此函数。因此,我仍在尝试找出未准备好设备的原因。