如果我设置了display: none
,是否可以阻止垃圾邮件程序在我的电子邮件地址中爬行?如果你愿意,我有一个小小游戏的想法,用户点击电子邮件的链接,然后显示一两个“你确定你不是机器人”的问题。一旦这些问题得到解答,它就会显示真实的链接。
问题是我假设机器人可以看到链接,因为它显然存在于HTML中,即使它不可见。有办法解决这个问题吗?
另外,我希望这些问题能够淡出,但据我所知,CSS3过渡不支持显示或可见性属性。我不得不求助于jQuery吗?如果是这样,当从display: none
切换到display: block
时,是否有人可以指示我替代元素淡出?
答案 0 :(得分:0)
不,display: none
无效。
唯一真正的解决方法是不要在HTML中使用它。例如,将其设为图像,或使用JavaScript将其解密为单个元素,这些元素可以绝对(和单独)放置,以供浏览器的人类查看器正确查看。
请注意,如果你去图像路线,spambots当然可以读取图像,所以也许你应该用一些随机图像(如旧的验证码)对它进行一些混淆。
关于CSS3不支持visibility
/ display
,你是对的,但你可以使用opacity属性来淡化你决定显示你的电子邮件地址的内容。 CSS3过渡完全支持opacity
。
答案 1 :(得分:0)
大多数抓取工具会分析网页的标记,而不是可视化渲染的版本。使用display: none
的效果很小。
此外,您不需要使用jQuery来实现淡入淡出效果。设置不透明度然后使用以下内容将很好地工作:
-webkit-transition: opacity 0.2s linear;
transition: opacity 0.2s linear;
答案 2 :(得分:0)
您可能希望实施联系表单,而不是显示电子邮件地址。您可以使用验证码或蜜罐方法保护该表单。此外,您可以使用Javascript渲染表单,因为许多机器人不会运行Javascript(我希望)。