有没有一种方法可以JQuery
用来隐藏或加密HTML
页面上的电子邮件地址而不更改href
?
5 回答
好吧,就像评论一样,您可能希望源有一个隐藏的电子邮件地址,然后使用 jQuery 修复或构建链接以获得正确的地址......因为机器人将查看源,而不是运行的结果你的 javascript ;-)
使用 JQuery 可能不是您想要采取的路线,因为这将在客户端......您是否有理由不在服务器端加密?
语义纳粹会说“编码”,而不是“加密”。加密意味着需要一个秘密来解码。转换为HTML 实体语法将是一个不错的编码过程,可以防止人类窥探,但机器人可以轻松解码它。
为了借鉴 Mike Stone 的建议,我要做的是在服务器端对其进行加密,并在服务器端进行解密并将其作为 JSON 返回(mvc 框架中的 jsonresult,web服务、http 处理程序等)。这样,您可以在需要时使用 jQuery 对电子邮件地址进行去混淆处理,但它仍然会使任何不支持 java 脚本的机器人感到困惑。同样,这不是一个防弹解决方案,但它可能会满足您的需求。
我所做的是在渲染并隐藏它时对其进行混淆,然后使用 javascript 修复混淆并显示链接。
例如,您可以从服务器渲染它:
<a href="mailto:some_address^^some_domain$$com" style='display:none'>Email me</a>
然后使用 Javascript 你可以使用正则表达式来交换和^^
for@
$$
.
无论你能想出什么方案都可能没问题。当然,如果机器人理解 javascript,那么无论如何都没关系。
您将阻止 95% 的机器人,而您的其余用户将可以正常看到该地址。