代码之家  ›  专栏  ›  技术社区  ›  Justin

使用JQuery/JavaScript调用/单击mailto链接

  •  72
  • Justin  · 技术社区  · 16 年前

    我想调用 mailto 来自JavaScript的链接-这是我想要的一个方法,允许我打开用户PC上的电子邮件客户端,就像他们点击了一个普通的mailto链接一样。

    我该怎么做?

    4 回复  |  直到 16 年前
        1
  •  133
  •   Nick Craver    16 年前

    你可以用 window.location.href 这里,像这样:

    window.location.href = "mailto:address@dmail.com";
    
        2
  •  9
  •   franzo    11 年前

    您可以通过上面的链接来避免上面讨论的空白页面问题,页面上有链接:

    document.getElementById('mymailto').click();
    ...
    <a href="mailto:...." id="mymailto" style="display:none"></a>
    
        3
  •  3
  •   Toskan    8 年前

    在chrome、IE和firefox以及outlook中测试,我的答案是

    window.location.href = 'mailto:address@dmail.com?subject=Hello there&body=This is the body';
    

    %0d%0a 是mailto链接中电子邮件正文的新行符号

    %20 是应该使用的空间符号,但它对我和普通空间一样有效

        4
  •  1
  •   s34n    11 年前

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

    我发现,您可以简单地将带有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);
    
            });
        }
    }