link forzar evento disparar javascript jquery mailto

forzar - Invoque/haga clic en un enlace de mailto con JQuery/JavaScript



simulate click javascript (4)

Me gustaría invocar un enlace de mailto desde JavaScript, es decir, me gustaría un método que me permita abrir el cliente de correo electrónico en la PC de los usuarios, exactamente como si hubieran hecho clic en un enlace de correo normal.

¿Cómo puedo hacer esto?


En realidad, hay una posibilidad de evitar la página vacía.

Me enteré, simplemente puede insertar un iframe con el enlace mailto en el dom. Esto funciona en Firefox / Chrome e IE actuales (también IE mostrará un breve diálogo de confirmación).

Usando jQuery, obtuve esto:

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); }); } }


Puede evitar el problema de la página en blanco que se discutió anteriormente mediante el uso de .click () con un enlace en la página:

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


Puede usar window.location.href aquí, así:

window.location.href = "mailto:[email protected]";


la respuesta de trabajo para mí, probada en Chrome, IE y Firefox junto con Outlook fue esta

window.location.href = ''mailto:[email protected]?subject=Hello there&body=This is the body'';

%0d%0a es el nuevo símbolo de línea del cuerpo del correo electrónico en un enlace de mailto

%20 es el símbolo de espacio que debería usarse, pero a mí me funcionó también con el espacio normal