Javascript 如何在PhoneGap中从输入表单写入文本文件
因此,我的雇主指派我使用PhoneGap创建一个跨平台原型应用程序。问题是除了HTML和CSS之外,我没有很强的web开发背景——我根本不懂Javascript。在静态和动态链接的面向对象语言(java、C++、Python)中,我有很强的背景,但是JavaScript的语法在我通过这些PoPGEAP教程时,真的把我甩掉了。 现在,我正在尝试理解如何将参数传递给write-to-file函数,当我单击按钮时将调用该函数。以下是我需要遵循的相关方法链,以便能够写入文件:Javascript 如何在PhoneGap中从输入表单写入文本文件,javascript,cordova,Javascript,Cordova,因此,我的雇主指派我使用PhoneGap创建一个跨平台原型应用程序。问题是除了HTML和CSS之外,我没有很强的web开发背景——我根本不懂Javascript。在静态和动态链接的面向对象语言(java、C++、Python)中,我有很强的背景,但是JavaScript的语法在我通过这些PoPGEAP教程时,真的把我甩掉了。 现在,我正在尝试理解如何将参数传递给write-to-file函数,当我单击按钮时将调用该函数。以下是我需要遵循的相关方法链,以便能够写入文件: function
function onDeviceReady() {
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, onFSSuccess, onFSError);
}
function onFSSuccess(fileSystem) {
console.log("checkpoint 1");
console.log("Opened file system: " + fileSystem.name);
fileSystem.root.getFile("testingoutput.txt", {create:true, exclusive:false}, gotFileEntry, onFSError);
}
function gotFileEntry(fileEntry) {
console.log("checkpoint 2");
fileEntry.createWriter(gotFileWriter, onFSError);
}
function gotFileWriter(writer) {
console.log("checkpoint 3");
writer.onwriteend = function() {
console.log("write has ended!");
};
writer.seek(writer.length);
writer.write("test test test");
console.log(writer.length);
}
function onFSError(err) {
console.log("in onFSError");
console.log(err.code);
}
我知道这里发生了什么,如果我能够写入文件,一个对象对另一个对象的依赖性,但是我对代码的这一部分感到困惑:
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, onFSSuccess, onFSError);
如果我必须将一个参数(来自表单的用户输入)传递给on-FSSuccess函数,以便最终将其发送给要写入的gotFileWriter(),那么我如何将所需的文件系统对象参数传递给onFSSuccess?在上面的行中,它看起来是隐式传递的。有一个自我。或者这个。我可以调用的标识符,以将创建的文件系统对象传递给onFSSuccess()?隐式传递文件系统。您可以做的是,在您手头有用户输入之前,不要请求文件系统,然后用文本字段值或其他任何内容替换“test”。或者,您可以将writer(from in gotFileWriter)引用保存到更高的范围,并在获得用户输入后调用write方法。