TL;DR
Скрыть адрес электронной почты от ботов без использования сценариев и поддерживать функциональность mailto:
. Метод также должен поддерживать экранные программы.
Резюме
-
Электронная почта obfuscation без с помощью скриптов или контактных форм
-
Адрес электронной почты должен быть полностью видимым для зрителей и поддерживать
mailto:
функциональность -
Адрес электронной почты не должен быть в форме изображения.
-
Адрес электронной почты должен быть полностью скрыт от спам-роботов и спам-ботов и любого другого типа харвестера
Желаемый эффект:
-
Нет скриптов, пожалуйста. В проекте нет скриптов, а я хотел бы сохранить его таким образом.
-
Адрес электронной почты либо отображается на странице, либо может быть легко отображен после какого-либо взаимодействия с пользователем, например, открытия модального файла.
-
Пользователь может нажать на адрес электронной почты, который, в свою очередь, вызовет функциональность
mailto:
. -
Щелчок по электронной почте откроет приложение электронной почты пользователя.
Другими словами, функциональность
mailto:
должна работать. -
Адрес электронной почты не отображается или не идентифицируется как адрес электронной почты для ботов (сюда входит источник страницы)
-
У меня нет почтового ящика с полным спамом
Что НЕ работает
-
Добавление формы контакта - или чего-либо подобного - вместо адреса электронной почты
Я ненавижу контактные формы. Я редко заполняю контактную форму. Если нет адреса электронной почты, я ищу номер телефона, и если это не так, я начинаю искать альтернативную услугу. Я бы только заполнил контактную форму, если мне это абсолютно необходимо.
-
Замена адреса изображением адреса
Это создает недостаток HUGE для кого-то, использующего прошивку (, пожалуйста, помните о слабовидящих в будущих проектах)
Он также удаляет функциональность
mailto:
, если вы не сделаете изображение кликабельным, а затем добавьте функциональностьmailto:
какhref
для этой ссылки, но побеждает цель, и теперь письмо видно ботам.
Что может работать:
-
Умное использование
pseudo-elements
вCSS
-
Решения, использующие кодировку
base64
-
Разрыв адреса электронной почты и распространение частей по документу, а затем их объединение в модальном режиме, когда пользователь нажимает кнопку (это, вероятно, будет включать несколько классов
CSS
и использованиеanchor tags
) -
Изменение атрибутов
html
черезCSS
@MortezaAsadi изящно раскрыл эту возможность в комментариях ниже. Это ссылка на полный текст. Статья с 2012 года:
Что делать, если мы могли бы использовать CSS для изменения атрибутов HTML?
-
Другие творческие решения, выходящие за рамки моих знаний.
Похожие вопросы/исправления
(Это замечательное решение, предложенное Джо Маллером, оно работает хорошо, но script на основе. Вот как оно выглядит:
<SCRIPT TYPE="text/javascript">
emailE = 'emailserver.com'
emailE = ('yourname' + '@' + emailE)
document.write('<A href="mailto:' + emailE + '">' + emailE + '</a>')
</script>
<NOSCRIPT>
Email address protected by JavaScript
</NOSCRIPT>