使用JQuery/JavaScript调用/单击邮件链接

使用JQuery/JavaScript调用/单击邮件链接,javascript,jquery,mailto,Javascript,Jquery,Mailto,我想从JavaScript调用一个链接——也就是说,我想使用一种方法,允许我在用户PC上打开电子邮件客户端,就像他们单击了普通的mailto链接一样 我该怎么做?您可以在此处使用window.location.href,如下所示: window.location.href = "mailto:address@dmail.com"; 您可以避免上面讨论的空白页面问题,而是使用.cLink()在页面上链接: document.getElementById('mymailto').click();

我想从JavaScript调用一个链接——也就是说,我想使用一种方法,允许我在用户PC上打开电子邮件客户端,就像他们单击了普通的mailto链接一样


我该怎么做?

您可以在此处使用
window.location.href
,如下所示:

window.location.href = "mailto:address@dmail.com";

<>您可以避免上面讨论的空白页面问题,而是使用.cLink()在页面上链接:

document.getElementById('mymailto').click();
...
<a href="mailto:...." id="mymailto" style="display:none"></a>
document.getElementById('mymailto')。单击();
...

实际上,有可能避免出现空页

我发现,您可以简单地将带有mailto链接的iframe插入dom。 这适用于当前的Firefox/Chrome和IE(IE也会显示一个简短的确认对话框)

使用jQuery,我得到了以下结果:

var initMailtoButton = function()
{
    var iframe = $('<iframe id="mailtoFrame" src="mailto:name@domain.com" width="1" height="1" border="0" frameborder="0"></iframe>');
    var button = $('#mailtoMessageSend');    
    if (button.length > 0) {            
        button.click(function(){
            // create the iframe
            $('body').append(iframe);
            //remove the iframe, we don't need it any more
            window.setTimeout(function(){
                iframe.remove();    
            }, 500);

        });
    }
}
var initMailtoButton=function()
{
变量iframe=$('');
var按钮=$('mailtoMessageSend');
如果(button.length>0){
按钮。单击(函数(){
//创建iframe
$('body').append(iframe);
//移除iframe,我们不再需要它了
setTimeout(函数(){
iframe.remove();
}, 500);
});
}
}

我在chrome、IE、firefox和outlook中测试的有效答案是

window.location.href = 'mailto:address@dmail.com?subject=Hello there&body=This is the body';
%0d%0a
是邮件收件人链接中电子邮件正文的新行符号

%20
是应该使用的空格符号,但它对我来说也适用于普通空格

更好地使用

窗口。打开('mailto:address@mail.com主体=子主体=这是主体“

如果我们使用
window.location.href
chrome浏览器在网络选项卡中出现错误,并显示临时标题
升级不安全的请求:1

我将如何附加正文?邮寄地址:address@dmail.com?正文=我的正文和邮寄地址:address@dmail.com&;我的身体不适合我…@jipiboily,你能再解释一下吗?你试过哪个浏览器,但没用?@Adnan,我记得它不适用于Opera,也许还有更多的浏览器。根据您的需要,您可能能够解决该问题。@Rolf我刚刚在最新的chrome stable中测试过,仍在工作。Max,您可能已经解决了这个问题,但对于未来的读者:
window.location.href='mailto:address@dmail.com&主题=你好那里&身体=这是身体'。非
和非
&
,只是
&
我尝试了以下操作:`function Call(){document.getElementById('mymailto')。单击();}`新选项卡仍然打开。工作示例:尝试
联系我