3

伪元素不是 DOM 的一部分。它们不能被 javascript 定位,并且它们对用户可见。

如果我想用我的电子邮件地址(或我不想被自动抓取的任何其他信息)实现一个站点,但不希望它对机器人可见,我可以不简单地做:

<style>
.email-point::after {
    content: "cris@domain.com"
}
</style>
<span class="email-point">Email:</span>

对我来说,这是一种非常诡异且万无一失的向机器人隐藏内容的方法。它是如何失败的?

4

2 回答 2

1

用户不能单击电子邮件地址作为向您发送电子邮件的链接。如果您可以接受,那么该解决方案应该可以正常工作。

于 2013-03-16T13:49:11.553 回答
1

我认为机器人也可能会扫描css,并通过 a 找到电子邮件regex,因此您可能会尝试将电子邮件分成几部分,例如

<span class="cris email">@</span>

.cris.email::before{
    content: "cris"
}
.email::after {
    content: "domain.com"
}

但请注意,这是一个 UX-sin,因为最终用户将无法复制地址并将被迫输入

于 2013-03-16T13:50:01.640 回答