Подтвердить что ты не робот

Mailto с помощью javascript

Я хочу открыть новый шаблон почты Outlook с адресом "To address", когда пользователь нажимает на изображение. Я возвращаю свой код на html-странице (связанную с изображением), всякий раз, когда он загружает javascript, должен открывать новый шаблон письма. Но функциональность не работает. Пожалуйста, дайте мне знать, что не так в моем коде.

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()
4b9b3361

Ответ 1

Нет необходимости в jQuery. И нет необходимости открывать новое окно. Протоколы, которые не возвращают HTTP-данные в браузер (mailto:, irc://, magnet:, ftp:// (< - это зависит от того, как оно реализовано, обычно браузер имеет встроенный FTP-клиент)) может быть запрошенными в том же окне без потери текущего содержимого. В вашем случае:

function redirect()
{
    window.location.href = "mailto:[email protected]";
}
<body onload="javascript: redirect();">

Или просто прямо

<body onload="javascript: window.location.href='mailto:[email protected]';">

Ответ 2

Введите код в jsFiddle. Он использует jQuery для изменения href ссылки. Вы можете использовать любую другую библиотеку на своем месте. Он должен работать.

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]");
});​

UPDATE

Другой пример кода, если идентификатор известен только во время события click

$(document).ready(function() {
    $("#emailLnk").click(function()
     {
         alert('h');
         document.location.href = "mailto:[email protected]";
     });
});​

Ответ 3

С помощью JavaScript вы можете создать ссылку "на лету", используя что-то вроде:

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

Это перенаправляется браузером на некоторый почтовый клиент, установленный на машине, без потери содержимого текущего окна... и вам не понадобится никакой API, такой как 'jQuery'.

Ответ 4

Я просто использовал этот код javascript (используя jquery, но это не обязательно):

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

Когда пользователи нажимают на ссылку, мы заменяем атрибут href элемента, на который был сделан щелчок.

Будьте осторожны, не мешайте стандартным по умолчанию (event.preventDefault), мы должны позволить это сделать, потому что мы только что заменили href, куда идти

Я думаю, что роботы не могут его увидеть, адрес защищен от спама.

Ответ 5

Вы можете использовать простой mailto, см. ниже для простой разметки.

<a href="mailto:[email protected]">Click here to mail</a>

После нажатия откроется ваш Outlook или любой другой почтовый клиент, который вы установили.