我正在忙着制作一个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
});
这有效,但它只显示最近发送的电子邮件主题。因此,当我发送新电子邮件时,本地存储似乎过度写入主题,而“我想要做的是将所有已发送的主题全部发送,然后在成功时从本地存储中删除”
答案 0 :(得分:0)
保存在本地存储中执行此操作
var newFileName = 'the fileName';
var temp=localstorage.getItem('newFileName');
var somearray=temp.split(',');
somearray_length=somearray.length;
somearray[somearray_length]=newFileName;
var somestring=somearray.join(',');
localStorage.setItem('newFileName',somestring);
在一天结束时
ending=localstorage.getItem('newFileName');
localStorage.setItem('newFileName',""); //clear memory
我使用逗号(,)作为分隔符,使用任何不在主题行中的唯一字符。
答案 1 :(得分:0)
好的,它现在正在运作。解决方案是:
var newFileName = 'N' + result + '_' + agent + '_' + todayDate + '_' + newURI + '_' + depot + '_' + date;
localStorage.setItem('newFileName', localStorage.getItem('newFileName') + "," + newFileName );
向所有人寻求帮助。