От автора: еще совсем недавно вокруг mailto ссылок велось бурное обсуждение, в частности о том, как запретить открывать такие ссылки старым почтовым клиентом. Бывают случаи, когда mailto ссылки делают то, что я хочу. Вообще прекрасно, когда они заполняют длинные адреса или тему письма за меня. Однако в большинстве случаев я лучше воспользуюсь веб-клиентом Gmail… и я не один такой.
Мэтт Даунинг создал специальный блокирующий инструмент для mailto ссылок, который стал расширением для Google Chrome NoMailto:. Если расширение найдет на странице mailto ссылку, появится всплывающее окно, где вам будет предложено скопировать адрес или открыть ее клиентом почты по умолчанию.
Mailto ссылки не вызывали бы столько проблем, если бы мы всегда знали на что кликаем. Зачастую у таких ссылок имена имеют специфический окрас. К примеру, на некоторых сайтах в меню бывают ссылки «Свяжись со мной» или «Напиши мне». По клику на них я хочу перейти на страницу с контактной информацией, а не в Outlook.
Решение
Есть пара способов обезопасить пользователя от такого поведения. Первый способ заключается в том, чтобы дать пользователю четко понять, что будет при нажатии на ссылку. Вместо «Свяжись со мной» можно написать «Отправь мне email» или вообще просто указать email адрес example@gmail.com. Может это не так красиво, зато вы сэкономите пользователю час-другой на синхронизации Apple Mail.
Второй и, возможно, более важный способ – дать пользователю выбор. Как в расширении NoMailto:, когда пользователь кликает на контактную ссылку, давать ему выбор скопировать адрес или открыть клиент почты по умолчанию. А что если у пользователя нет клиента по умолчанию? Можно добавить кнопку для открытия ссылки любимым почтовым клиентом.
Демо
По опыту работы с mailto ссылками и своим мыслям я написал демо, в котором реализован способ, о котором мы говорили выше.
А вы видели приложения, которые хорошо обрабатывают mailto ссылки? Если да, пишите в комментариях. Исходники можно скачать по ссылке.
Автор: Kenan Yusuf
Источник: //kyusuf.com/
Редакция: Команда webformyself.