2010-10-05 12 views

Respuesta

109

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

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

y cómo iba a agregar un cuerpo? mailto: [email protected]? body = myBody y mailto: [email protected] & myBody no funciona para mí ... – Max

+0

realmente útil respuesta. gracias. – tartak

+0

esto no funcionará en todos los navegadores, ¡cuidado! ;) – jipiboily

9

puede evitar el problema de página en blanco se discutió anteriormente por el lugar usando .click() con un enlace en la página:

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

Intenté esto: 'función Call() { document.getElementById ('mymailto'). click(); } 'y la nueva pestaña aún se abre. – Yoda

0

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

Me enteré, simplemente puede insertar un iframe con el enlace de 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, tengo 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); 

     }); 
    } 
} 
1

la respuesta de trabajo para mí, probado en Chrome, IE y Firefox, junto con panorama era este

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

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

%20 es el símbolo de espacio que se debe usar, pero funcionó para mí también con el espacio normal

Cuestiones relacionadas