Javascript mailto с открытым окном

В настоящее время у меня есть форма, настроенная с 5 параметрами радио. У меня есть оператор switch в зависимости от выбранного вами варианта, который определяет, куда отправится электронная почта.

Внутри моего переключателя у меня есть этот кусок кода.

window.open("mailto:"+emailTo+'?cc='+emailCC+'&subject='+emailSub+'&body='+emailBody);

Все работает отлично, когда он открывает мой почтовый клиент со всем содержимым, однако он также открывает пустую страницу в браузере.

Есть ли другой способ достичь этого или предотвратить открытие пустого окна, но все же сделать так, как если бы вы нажали на href: mailto?

Ответ 1

Вместо:

window.open("mailto:"+emailTo+'?cc='+emailCC+'&subject='+emailSub+'&body='+emailBody);

Можешь попробовать:

location.href = "mailto:"+emailTo+'?cc='+emailCC+'&subject='+emailSub+'&body='+emailBody;

Ответ 2

Второй аргумент в window.open - это цель.

window.open('mailto:'+emailTo+'?cc='+emailCC+'&subject='+emailSub+'&body='+emailBody, '_self'); должен сделать свое дело.

Ответ 3

Location.href, похоже, не работает в хроме. Я делаю это так:

x=window.open("mailstring");
x.close();

Прекрасно подходит для меня.

Ответ 4

После вашего оператора "window.open" попробуйте запустить "if statement", чтобы проверить, открылось ли новое окно, чтобы оно закрылось.

if (win && win.open && !win.closed) 
    {   
    win.close();
    }

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