Gor*_*son 14 javascript mailto jquery
我有一个链接按钮,用于从页面内容构建mailto.什么是从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");
}
}
Run Code Online (Sandbox Code Playgroud)
简单的功能在上面.window.location.href无法正常工作,除非它是Firefox/Chrome(它在IE8中重绘页面).我也尝试过window.open(sMailTo,"_ self")但是在IE8中再次打破了它所调用的页面.
我确定这是一个愚蠢的问题...... :-)
谢谢
Gro*_*ain 10
我认为这根本不是傻瓜!这是一个好的开始.接下来我要尝试的是在jquery中创建一个实际的链接对象,将它附加到正文,然后单击()它.
//window.location.href = sMailTo;
$('<a href="' + sMailTo + '">click</a>').appendTo('body').click().remove();
Run Code Online (Sandbox Code Playgroud)
应该工作只要你正在使用的escape()函数摆脱所有的引号并正确编码html.
但是,我不得不说,这可能是很难得到公正的权利.如果它仍然不起作用,我建议在服务器端进行链接POSTS所需的所有html.
| 归档时间: |
|
| 查看次数: |
23804 次 |
| 最近记录: |