mailto a usar o javascript

quero abrir um novo modelo de E-mail do outlook com o 'To address' sempre que um utilizador clica numa imagem. Devolvi o meu código numa página html (ligada à imagem), sempre que carregar o javascript deverá abrir um novo modelo de E-mail. Mas a funcionalidade não está a funcionar. Por favor, diga-me o que está errado no meu código.

body onLoad="redirect()"

script language="JavaScript"

function redirect() 

      var email = "[email protected]"
      var mailto_link = 'mailto:' + email
      window = window.open(mailto_link, 'emailWindow')
      if (window && window.open && !window.closed)         
          window.close()
Author: Andrew, 2012-04-16

5 answers

Não há necessidade de perguntas. E não é necessário abrir uma janela nova. Protocolos que não devolvem dados HTTP ao navegador (mailto:, irc://, magnet:, ftp:// (
function redirect()
{
    window.location.href = "mailto:[email protected]";
}
<body onload="javascript: redirect();">

Ou directamente

<body onload="javascript: window.location.href='mailto:[email protected]';">
 54
Author: StanE, 2017-10-09 19:43:09

Por favor, Encontre o código em jsFiddle. Ele usa jQuery para modificar o href do link. Você pode usar qualquer outra biblioteca em seu lugar. Deve funcionar.

HTML

<a id="emailLnk" href="#">
    <img src="http://ssl.gstatic.com/gb/images/j_e6a6aca6.png">
</a>

JS

$(document).ready(function() {
    $("#emailLnk").attr('href',"mailto:[email protected]");
});​

Actualizar

Outra amostra de código, se o id for conhecido apenas durante o evento click

$(document).ready(function() {
    $("#emailLnk").click(function()
     {
         alert('h');
         document.location.href = "mailto:[email protected]";
     });
});​
 21
Author: Ramesh, 2012-04-16 11:01:15

Eu simplesmente usei este código javascript (usando jquery mas não é estritamente necessário):

    $( "#button" ).on( "click", function(event) {
         $(this).attr('href', 'mailto:[email protected]?subject=hello');
    });

Quando os utilizadores clicam no link, substituímos o atributo href do elemento clicado.

Tenha cuidado para não evitar o comportamento padrão (evento.preventDefault), devemos deixá-lo porque acabamos de substituir o href para onde ir

Acho que os robôs não conseguem ver, a morada está protegida de spams.
 4
Author: Proustibat, 2013-12-06 16:47:29

Com o JavaScript pode criar um link 'na altura' usando algo como:

    var mail = document.createElement("a");
    mail.href = "mailto:[email protected]";
    mail.click();

Isto é redireccionado pelo navegador para algum cliente de E-mail instalado na máquina sem perder o conteúdo da janela actual ... e você não precisaria de nenhuma API como "jQuery".

 4
Author: GuerraTron, 2018-03-29 15:47:12

Você pode usar o simples mailto, Veja abaixo para a marcação simples.

<a href="mailto:[email protected]">Click here to mail</a>
Uma vez clicado, irá abrir o seu Outlook ou qualquer cliente de E-mail que tenha definido.
 3
Author: Allan, 2014-03-18 08:16:55