简述
无需使用脚本或联系表单即可隐藏电子邮件地址。同时保持
mailto:
功能。方法还必须支持屏幕阅读器。
期望效果:
请不要使用任何脚本。项目中没有使用脚本,希望保持这种状态。
电子邮件地址可以在页面上显示,或者通过某种用户交互方式轻松显示,例如打开模式框。
用户可以单击电子邮件地址,从而触发
mailto:
功能。单击邮件会打开用户的电子邮件应用程序。
换句话说,
mailto:
功能必须正常工作。电子邮件地址对于机器人不可见,也不会被识别为电子邮件地址(包括页面源代码)。
我不想收到垃圾邮件。
可能有效的方法:
巧妙使用
CSS
中的伪元素利用
base64
编码的解决方案将电子邮件地址拆分并在文档中分散各个部分,然后在用户单击按钮时将它们重新组合到模态框中(这可能涉及多个
CSS
类和使用anchor tags
)通过
CSS
更改html
属性
@MortezaAsadi 在下面评论中优雅地提出了可能性。这是完整文章的链接-文章发布于2012年:
- 其他我所不知道的创造性解决方案。
类似的问题/修复方法
(这是Joe Maller提出的一个很好的解决方法,它运作良好,但它是基于脚本的。这是它的样子;
<SCRIPT TYPE="text/javascript">
emailE = 'example.com'
emailE = ('yourname' + '@' + emailE)
document.write('<A href="mailto:' + emailE + '">' + emailE + '</a>')
</script>
<NOSCRIPT>
Email address protected by JavaScript
</NOSCRIPT>
-
(一种聪明的解决方案,使用
PHP
和CSS
来首先用PHP反转电子邮件,然后用CSS反转回来)非常有前途的解决方案!但它太容易解决了。
(JavaScript修复)
所选答案有效。它实际上非常有效。它涉及将电子邮件编码为html实体
。它能否得到改进?
这是它的样子;
<A HREF="mailto:
yourname@domain.com">
yourname@domain.com
</A>
这个问题在SuperUser上的答案很好,它提供了一项利用不同混淆方法接收垃圾邮件数量的研究。
似乎使用 CSS
操纵电子邮件地址以使其 rtl
确实有效。这是我在本节中链接到的第一个问题中使用的相同方法。
我不确定将 mailto:
功能添加到修复程序中会对结果产生什么影响。
- 还有许多其他与电子邮件地址混淆相关的问题,它们都有类似的答案。 我没有找到符合我的预期效果的任何内容。
问题:
通过结合两个或多个修复程序(甚至添加新的修复程序),同时满足以下条件,是否可以增加电子邮件混淆方法的效率(即尽可能少的垃圾邮件):
A- 保持mailto:
功能;和
B- 支持屏幕阅读器
许多下面的答案和评论提出了一个很好的问题,同时指出没有某种形式的js
就做不到这一点。
所问/暗示的问题是:
为什么不使用
js
?
答案是我对js
过敏。
开玩笑了,
我提出这个问题的三个主要原因是:
联系表格越来越被接受作为提供电子邮件地址的替代品 - 但它们不应该这样做。
如果可以在没有编写脚本的情况下完成,则应该在没有编写脚本的情况下完成。
好奇心:(事实上我当前正在使用其中之一的
js
修复程序)我想看看是否讨论这个问题会带来更好的解决方法。