【发布时间】:2016-06-16 13:59:36
【问题描述】:
我正在尝试使用 javascript window.location.href=mailto:<addresses> 打开本地邮件窗口。但是,我的地址超过了最大长度。所以我把它切成小块,然后在特定的超时后一个接一个地发送。但是,如果第一个重定位仍然打开,则第二个重定位将不会打开新的(Outlook)邮件窗口......有没有办法解决这个问题?还是有另一种/更好的方法可以在本地客户端上打开多个邮件窗口?
任何帮助将不胜感激!
代码:
function Send_Mails(mails) {
var timeout = 2000;
var maxUrlCharacters = 1900;
var currIndex = 0;
var nextIndex = 0;
if (mails.length < maxUrlCharacters) {
window.location = 'mailto:' + mails;
return;
}
do {
currIndex = nextIndex;
nextIndex = mails.indexOf(';', currIndex + 1);
} while (nextIndex != -1 && nextIndex < maxUrlCharacters)
if (currIndex == -1) {
window.location = 'mailto:' + mails;
} else {
window.location = 'mailto:' + mails.slice(0, currIndex);
setTimeout(function () {
Send_Mails(mails.slice(currIndex + 1));
}, timeout);
}
}
这会正确打开第一个邮件窗口,但只要第一个邮件窗口打开,第二个邮件窗口就永远不会打开。
最好的问候, 汉斯
【问题讨论】:
-
请发布您的代码。
-
您对您选择使用的解决方案的解释令人困惑。我们需要查看您的代码。
-
@EnigmaRM 代码添加有问题...
标签: javascript mailto window.location