【发布时间】:2011-07-13 00:30:40
【问题描述】:
我有一个链接按钮,用于从页面内容构建邮件。在不打开空白窗口或干扰调用它的窗口的情况下从 javascript 启动它的最佳方法是什么?
function Email()
{
var sMailTo = "mailto:";
var sBody = "";
var alSelectedCheckboxes = new Array();
$("input:checkbox[CheckBoxType=Email]:checked").each(function()
{
alSelectedCheckboxes.push($(this).val());
});
if (alSelectedCheckboxes.length > 0)
{
for (var i=0; i<alSelectedCheckboxes.length; i++)
{
sBody += alSelectedCheckboxes[i];
sBody += "\n";
}
sMailTo += escape("<Insert Recipients Here>") +"?subject=" +escape("<Insert Subject Here>") +"&body=" +escape(sBody);
window.location.href = sMailTo;
}
else
{
alert("Please select some results");
}
}
简单的功能如上。 window.location.href 不能正常工作,除非它是 Firefox/Chrome(它在 IE8 中重绘页面)。我也尝试过 window.open(sMailTo, "_self") 但在 IE8 中这再次破坏了调用它的页面。
我确定这是一个愚蠢的问题.... :-)
谢谢
【问题讨论】:
-
不要代表用户悄悄地这样做。将其添加为 html 链接。
-
javascript 由链接执行。 mailto 的内容是动态的,但是我们需要先做一些 javascript 来确定要发送的邮件正文是什么
标签: javascript jquery mailto