【发布时间】:2016-06-05 12:43:13
【问题描述】:
在 Phonegap-App 中,我有一个数据库,希望用户在应用会话结束时将他们的条目发送到用户指定的电子邮件地址。
如何使用 Javascript 获取用户设备上的数据库条目并让用户输入数据发送到的电子邮件地址?
有什么帮助吗?
这是数据库 Javascript 代码:
<script>
var FILENAME = 'database.db',
$ = function (id) {
return document.getElementById(id);
},
failCB = function (msg) {
return function () {
alert('[FAIL] ' + msg);
}
},
file = {
writer: { available: false },
reader: { available: false }
},
dbEntries = [];
document.addEventListener('deviceready', function () {
var fail = failCB('requestFileSystem');
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, fail);
}, false);
function gotFS(fs) {
var fail = failCB('getFile');
fs.root.getFile(FILENAME, {create: true, exclusive: false},
gotFileEntry, fail);
}
function gotFileEntry(fileEntry) {
var fail = failCB('createWriter');
file.entry = fileEntry;
fileEntry.createWriter(gotFileWriter, fail);
readText();
}
function gotFileWriter(fileWriter) {
file.writer.available = true;
file.writer.object = fileWriter;
}
function saveText(e) {
var name = $('name').value,
desc = $('desc').value,
fail;
dbEntries.push('<dt>' + name + '</dt><dd>' + desc + '</dd>')
$('name').value = '';
$('desc').value = '';
$('definitions').innerHTML = dbEntries.join('');
if (file.writer.available) {
file.writer.available = false;
file.writer.object.onwriteend = function (evt) {
file.writer.available = true;
file.writer.object.seek(0);
}
file.writer.object.write(dbEntries.join("\n"));
}
return false;
}
function readText() {
if (file.entry) {
file.entry.file(function (dbFile) {
var reader = new FileReader();
reader.onloadend = function (evt) {
var textArray = evt.target.result.split("\n");
dbEntries = textArray.concat(dbEntries);
$('definitions').innerHTML = dbEntries.join('');
}
reader.readAsText(dbFile);
}, failCB("FileReader"));
}
return false;
}
</script>
【问题讨论】:
标签: javascript database cordova email send