Я использую некоторое запутывание на стороне сервера и не хочу указывать полный адрес электронной почты в mailto:
. Внутри элемента я вызываю функцию js, которая выбирает адрес электронной почты с сервера и вызывает (другую) mailto:
ссылку без функции js.
Сначала я держал href
пустым (и я думаю, что то же самое при вводе #
), но при наведении курсора на ссылку в строке состояния браузера отображается ссылка на текущую страницу, и она выглядит просто аккуратнее (и ожидаемое поведение), чтобы показать mailto:
ссылку в строке состояния, но только с именем человека, а не с действительным адресом электронной почты.
HTML:
<a href="mailto:johny" onclick= "sendmail('jj'); return false;" title="Send email">
JS:
function sendmail(dest) {
var link = "";
fetch('/returnmailstring.php?dec='+code+'&input='+dest)
.then(function(response) {
response.text()
.then(function(text) {
link = text;
if (link.length > 2) {
if(window.confirm('Send email to \n'+link+' ?')) {
window.location.href = link;
}
}
})
})
}
Итак, мой вопрос: допустимо ли иметь двойную / идентичную функциональность, но используя два разных метода?
Я ожидал, что, может быть, откроются два окна "новой почты" или какое-то другое странное поведение, но на самом деле все работает нормально. Но я не могу представить, что это соответствует стандартам, и что оно будет работать нормально во всех браузерах / устройствах?
Смежный вопрос о том, что должно произойти, когда пользователь нажимает на ссылку. В настоящее время я ввел окно подтверждения, поэтому пользователь может выбрать OK
, чтобы фактически продолжить отправку электронного письма (используя почтовый клиент по умолчанию), или просто скопировать адрес электронной почты из коробки (и вставить в другой почтовый клиент, например, gmail), и Cancel
чтобы вернуться на страницу. Альтернативой было бы пропустить окно подтверждения и сразу открыть почтовый клиент после щелчка. Существуют ли правила / стандарты UX, которым нужно следовать, или допустимо использовать такое окно подтверждения?