本地存储计数器输出
Local storage counter output
我正忙于制作一个 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
});
这有效,但它只显示最近发送的电子邮件主题。因此,每次我发送一封新电子邮件时,本地存储似乎都在写主题,而我想做的是发送一整天发送的所有主题,然后在成功时从本地存储中删除
在 locastorage 中保存时执行此操作
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
我使用逗号 (,) 作为分隔符,使用不会出现在您的主题行中的任何唯一字符。
好的,现在可以了。解决方案是:
var newFileName = 'N' + result + '_' + agent + '_' + todayDate + '_' + newURI + '_' + depot + '_' + date;
localStorage.setItem('newFileName', localStorage.getItem('newFileName') + "," + newFileName );
感谢大家的帮助。
我正忙于制作一个 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
});
这有效,但它只显示最近发送的电子邮件主题。因此,每次我发送一封新电子邮件时,本地存储似乎都在写主题,而我想做的是发送一整天发送的所有主题,然后在成功时从本地存储中删除
在 locastorage 中保存时执行此操作
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
我使用逗号 (,) 作为分隔符,使用不会出现在您的主题行中的任何唯一字符。
好的,现在可以了。解决方案是:
var newFileName = 'N' + result + '_' + agent + '_' + todayDate + '_' + newURI + '_' + depot + '_' + date;
localStorage.setItem('newFileName', localStorage.getItem('newFileName') + "," + newFileName );
感谢大家的帮助。