Поведение mailto: и onclick () для одного элемента - PullRequest
0 голосов
/ 30 октября 2018

Я использую некоторое запутывание на стороне сервера и не хочу указывать полный адрес электронной почты в 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, которым нужно следовать, или допустимо использовать такое окно подтверждения?

...