J'aimerais invoquer un lien mailto à partir de JavaScript. J'aimerais une méthode qui me permet d'ouvrir le client de messagerie sur le PC des utilisateurs, exactement comme s'ils avaient cliqué sur un mailto normal. lien.
Comment puis-je faire ceci?
Vous pouvez utiliser window.location.href
ici, comme ceci:
window.location.href = "mailto:[email protected]";
Vous pouvez éviter le problème de page blanche discuté ci-dessus en utilisant plutôt .click () avec un lien sur la page:
document.getElementById('mymailto').click();
...
<a href="mailto:...." id="mymailto" style="display:none"></a>
la réponse de travail pour moi, testé en chrome, IE et firefox avec Outlook était-ce
window.location.href = 'mailto:[email protected]?subject=Hello there&body=This is the body';
%0d%0a
est le nouveau symbole de ligne du corps de l'e-mail dans un lien mailto
%20
est le symbole d’espace à utiliser, mais il a également fonctionné pour un espace normal
En fait, il existe une possibilité d'éviter la page vide.
J'ai découvert que vous pouvez simplement insérer un iframe avec le lien mailto dans le dom. Cela fonctionne sur les versions actuelles de Firefox/Chrome et IE (également IE affichera une courte boîte de dialogue de confirmation)).
En utilisant jQuery, j'ai eu ceci:
var initMailtoButton = function()
{
var iframe = $('<iframe id="mailtoFrame" src="mailto:[email protected]" 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);
});
}
}