У меня есть гиперссылка на моей веб-странице:

<a id="contact" href="#">contact</a>

И тогда в JQuery у меня есть:

$("#contact").click(function() {
    document.location.href = "mailto:info@mail.com";
});

Когда пользователь нажимает на ссылку, она открывается в том же окне, как я могу открыть почту в другом окне? Я попытался добавить target="_blank" в <a.., но затем контактная форма открылась в том же окне, а моя веб-страница открылась в другом окне ... Как это исправить?

4
user3766930 9 Янв 2017 в 16:47

3 ответа

Лучший ответ

Используйте window.open вместо document.location.href

  $("#contact").click(function() {
    win = window.open('mailto:info@mail.com', '_blank');
    if (win) {
        //Browser has allowed it to be opened
        win.focus();
    } else {
        //Browser has blocked it
        alert('Please allow popups for this website');
    }
});
3
Boris K 9 Янв 2017 в 13:58

Это было бы альтернативным решением, при котором вам не нужно было бы использовать jquery для определения клика и избежать двойного потенциального нажатия / нажатия.

$("#contact").attr("href", "mailto:info@mail.com").attr("target", "_blank");

Кроме того, это не должно быть заблокировано блокировщиками всплывающих окон (насколько я знаю).

0
Davey 9 Янв 2017 в 14:05

Вы можете использовать window.open следующим образом:

  var win = window.open(mailto:info@mail.com, '_blank');
  win.focus();
1
Fady Sadek 9 Янв 2017 в 13:50