【发布时间】:2015-01-13 02:29:18
【问题描述】:
我正忙着制作一个 phonegap 应用程序,我在其中捕获许多变量并通过电子邮件发送它们(为简单起见,我将其简化为最基本的部分)。
我正在尝试将电子邮件的主题存储在本地存储中,以便在一天结束时通过单独的点击功能发送它们,然后从本地存储中删除它们。
我发送电子邮件的代码如下所示(注意我将“var newFileName”存储在本地存储中):
function sendMail(imageURI, click){
var newFileName = 'the fileName';
localStorage.setItem('newFileName', newFileName);
cordova.plugins.email.addAlias('gmail', 'com.google.android.gm');
cordova.plugins.email.open({
app: 'gmail',
to: 'user@gmail.com',
subject: newFileName,
body: 'this is the body',
attachments: [imageURI],
isHtml: true
});
};
现在我将变量存储在本地存储中,我想发送使用另一个函数保存的所有内容:
function endOfDay(data){
var text = [];
var ending = localStorage.getItem('newFileName');
var salesman = $('#agent').val();
var newsFileName = 'End of Day Report for Agent: ' + salesman;
cordova.plugins.email.addAlias('gmail', 'com.google.android.gm');
cordova.plugins.email.open({
app: 'gmail',
to: 'user@gmail.com',
subject: newsFileName,
body: 'end of day:' + ending,
isHtml: true
});
这可行,但它只显示最近发送的电子邮件主题。因此,每次我发送一封新电子邮件时,本地存储似乎都会过度写入主题,而我想要做的是发送全天发送的所有主题,然后在成功时从本地存储中删除
【问题讨论】:
-
使用 json 来保存一个数组而不是一个数组。 PS:使用 localStorage 作为“命名空间”而不是方法更方便; var 结尾= JSON.parse(localStorage.newFileName);和 localStorage.newFileName=JSON.stringify(newFileName);
标签: javascript jquery cordova storage local