Ответ 1
Вместо:
window.open("mailto:"+emailTo+'?cc='+emailCC+'&subject='+emailSub+'&body='+emailBody);
Можешь попробовать:
location.href = "mailto:"+emailTo+'?cc='+emailCC+'&subject='+emailSub+'&body='+emailBody;
В настоящее время у меня есть форма, настроенная с 5 параметрами радио. У меня есть оператор switch в зависимости от выбранного вами варианта, который определяет, куда отправится электронная почта.
Внутри моего переключателя у меня есть этот кусок кода.
window.open("mailto:"+emailTo+'?cc='+emailCC+'&subject='+emailSub+'&body='+emailBody);
Все работает отлично, когда он открывает мой почтовый клиент со всем содержимым, однако он также открывает пустую страницу в браузере.
Есть ли другой способ достичь этого или предотвратить открытие пустого окна, но все же сделать так, как если бы вы нажали на href: mailto?
Вместо:
window.open("mailto:"+emailTo+'?cc='+emailCC+'&subject='+emailSub+'&body='+emailBody);
Можешь попробовать:
location.href = "mailto:"+emailTo+'?cc='+emailCC+'&subject='+emailSub+'&body='+emailBody;
Второй аргумент в window.open - это цель.
window.open('mailto:'+emailTo+'?cc='+emailCC+'&subject='+emailSub+'&body='+emailBody, '_self');
должен сделать свое дело.
Location.href, похоже, не работает в хроме. Я делаю это так:
x=window.open("mailstring");
x.close();
Прекрасно подходит для меня.
После вашего оператора "window.open" попробуйте запустить "if statement", чтобы проверить, открылось ли новое окно, чтобы оно закрылось.
if (win && win.open && !win.closed)
{
win.close();
}
Это произойдет очень быстро, поэтому пользователи могут заметить, что окно открылось и закрылось до открытия приложения электронной почты.