2

我有一个使用 Ajax 的“联系我们”表单(即依赖于异步请求)。

如果用户禁用了 javascript,我想显示一条消息,例如:

您需要启用 Javascript 才能使用此联系表。如果您不能或不知道 Javascript 是什么,请使用您的电子邮件并通过以下方式与我们联系<the_email_address>

但当然,我想躲避the_email_address垃圾邮件机器人。

由于此电子邮件地址必须显示在 a<noscript>中,因此使用 Javascript 对其进行打乱是没有意义的,特别是考虑到一些用户可能根本不知道 Javascript 是什么。

我想到了一个解决方案,但我无法测试它:插入空<span></span>标签,如

my_em<span></span>ail@g<span></span>mail.com

或者,更聪明一点

my_em<span style="display:none">garbage</span>ail@gmail.com

那行得通吗?如果没有,有更好的想法吗?

更新

感谢 RichieHindle 的解答。我想我会在 python 中分享这个想法的简单实现:

def html_nospam(string):
    def ent(char):
        return "&#%d;" % ord(char)
    return ''.join([ent(c) for c in string])
4

3 回答 3

4

图像呢?

替代文字 http://www.codegeeks.net/wp-content/uploads/2009/08/s.png

或使用microsoft tag :) 看起来很酷

替代文字 http://www.codegeeks.net/wp-content/uploads/2009/08/My_Contact_2009829838261.jpeg

编辑:只需阅读您上面关于您的观众的评论。看起来 MS 标签对他们来说太多了:)

于 2009-08-29T07:31:48.050 回答
4

使用 HTML 实体来混淆它。 x@y.com变成&#120;&#64;&#121;&#46;&#99;&#111;&#109;.

您会认为地址收割机对此是明智的,但许多人并非如此。用户的最终结果(无论他是使用浏览器还是屏幕阅读器)与普通文本无法区分。

您可以使用在线工具为您进行转换。

于 2009-08-29T07:45:46.947 回答
0

使其成为图像。或使用 Flash(或 Silverlight、ActiveX 等)。

于 2009-08-29T07:31:18.537 回答