Invoke / klicken, um einen Mailto-Link mit JQuery / JavaScript
-
28-09-2019 - |
Frage
Ich möchte eine aufrufen mailto Link von JavaScript - das ist ich würde eine Methode, wie die mir die E-Mail-Client auf dem Benutzer-PC öffnen können, genau, als ob sie auf einem normalen mailto Link geklickt hat.
Wie kann ich das tun?
Lösung
Sie können window.location.href
verwenden hier, wie folgt aus:
window.location.href = "mailto:address@dmail.com";
Andere Tipps
Sie können das leere Seite Problem oben anstatt mit .click () mit einem Link auf der Seite besprochen vermeiden
document.getElementById('mymailto').click();
...
<a href="mailto:...." id="mymailto" style="display:none"></a>
die Arbeits Antwort für mich, getestet in Chrom, IE und Firefox zusammen mit Ausblick war
window.location.href = 'mailto:address@dmail.com?subject=Hello there&body=This is the body';
%0d%0a
ist das neue Linie Symbol des E-Mail-Körpers in einem Mail-Link
%20
ist der Raum, Symbol, das verwendet werden soll, aber es funktionierte für mich als auch mit normalen Raum
Eigentlich gibt es eine possibillity die leere Seite zu vermeiden.
Ich fand heraus, können Sie einfach einen Iframe mit dem Mailto-Link in den dom einzufügen. Dies funktioniert auf aktuelle Firefox / Chrome und IE (auch IE wird einen kurzen Bestätigungsdialog angezeigt werden).
Mit jQuery, ich habe diese:
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);
});
}
}