86 votes

Invoquer / cliquer sur un lien mailto avec JQuery / JavaScript

Je voudrais invoquer un Adresse électronique : C'est-à-dire que je voudrais une méthode qui me permette d'ouvrir le client de messagerie sur le PC de l'utilisateur, exactement comme s'il avait cliqué sur un lien mailto normal.

Comment puis-je le faire ?

0 votes

Exemple de travail : jsfiddle.net/gaboom/h81qov5g

1 votes

Essayez <button onclick="window.open('mailto:KingRider<contato@sandroalvares‌​.com.br>');">Contact me</button>

1voto

Bryce Rakop Points 31

Il s'agit d'une vieille question, mais j'ai combiné plusieurs débordements de pile pour aboutir à cette fonction :

//this.MailTo is an array of Email addresses
//this.MailSubject is a free text (unsafe) Subject text input
//this.MailBody is a free text (unsafe) Body input (textarea)
//SpawnMail will URL encode /n, ", and ', append an anchor element with the mailto, and click it to spawn the mail in the users default mail program
SpawnMail: function(){
    $("#MyMailTo").remove();
    var MailList="";
    for(i in this.MailTo)
        MailList+=this.MailTo[i]+";";
    var NewSubject=this.MailSubject.replace(/\n/g, "%0d%0a");
    NewSubject=NewSubject.replace(/"/g, "%22");
    NewSubject=NewSubject.replace(/'/g, "%27");
    var NewBody=this.MailBody.replace(/\n/g, "%0d%0a");
    NewBody=NewBody.replace(/"/g, "%22");
    NewBody=NewBody.replace(/'/g, "%27");
    $("#mainNavBar").after("<a id='MyMailTo' style='display:none;' href='mailto:"+MailList+"?subject="+NewSubject+"&body="+NewBody+"'>&nbsp;</a>");
    document.getElementById('MyMailTo').click();
}

L'avantage de cette fonction (et la façon dont je compte l'utiliser) est que je peux la placer dans une boucle et répartir les messages individuels entre tous les membres du tableau ou les garder ensemble (ce que fait actuellement cette fonction). En tout cas, merci pour le conseil @Toskan.

SUIVI - Veuillez noter que la nouvelle norme HTML5 n'autorise pas le bouclage de mailto (ou d'autres js liés aux pop-up) sans un "geste requis de l'utilisateur". Un article intéressant ici : https://github.com/WICG/interventions/issues/12 Vous ne pouvez donc pas l'utiliser pour générer en masse des e-mails individuels, mais il fonctionne bien pour l'envoi à plusieurs personnes dans sa conception actuelle.

1voto

denstorti Points 29

Il conduit à une page blanche aussi, dans IE 9 Cela se produit à cause des paramètres de sécurité (mode protégé - internet).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X