隐藏机器人的电子邮件地址 – 保持mailto:

TL;博士 从机器人隐藏电子邮件地址,而不使用脚本和维护mailto:function。 方法还必须支持屏幕阅读器。 概要 无需使用脚本或联系表格即可发送电子邮件混淆信息 电子邮件地址需要对人类观众完全可见 ,并保持mailto:function 电子邮件地址不得以图片forms 。 电子邮件地址必须“完全”隐藏垃圾邮件搜寻器和垃圾邮件机器人以及任何其他收集器types 预期效果: 请没有脚本 。 这个项目没有使用脚本, 我想保持这种方式 。 电子邮件地址显示在页面上,或者可以在某种用户交互之后轻松显示,例如打开模式。 用户可以点击电子邮件地址 ,然后触发mailto:function。 点击电子邮件将打开用户的电子邮件应用程序。 换句话说, mailto:function必须工作。 电子邮件地址不可见或未被识别为电子邮件地址(这包括页面源) 我没有一个充满垃圾邮件的收件箱 什么都行不通 添加一个联系表单 – 或类似的东西 – 而不是电子邮件地址 我讨厌联络表格 。 我很less填写联系表格。 如果没有电子邮件地址,我寻找一个电话号码,如果不在那里,我开始寻找替代服务。 我只会填写一个联系表格,如果我绝对必须。 用地址图像replace地址 这对使用屏幕阅读器的人造成巨大的不利影响( 请记住将来的项目中的视觉障碍者 ) 它还会删除 mailto:function,除非您使图像可点击,然后将mailto:function添加为链接的href ,但是这样做会使目标失败 ,现在电子邮件对于漫游器是可见的。 什么可能工作: 巧妙地使用CSS的pseudo-elements 使用base64编码的解决scheme 打破电子邮件地址并将文件分散到文档中,然后在用户单击button时将其重新放在一起(这可能涉及多个CSS类和anchor tags的使用) 通过CSS改变html属性 @MortezaAsadi在下面的评论中优雅地提出了可能性。 这是链接到完整 – 文章是从2012年: 如果我们可以使用CSS来改变HTML属性呢? 其他创造性的解决scheme超出了我的知识范围。 […]

在JavaScript中删除URL中的片段w / out导致页面重新加载

背景:我有一个HTML页面,可以让你展开某些内容。 由于只有小部分的页面需要加载进行这种扩展,所以通过JavaScript完成,而不是通过指向新的URL / HTML页面。 然而,作为奖励,用户能够永久地固定到这样的扩展部分,即向其他人发送类似的URL http://example.com/#foobar 并为其他用户立即打开“foobar”类别。 这工作使用parent.location.hash ='foobar',所以部分是好的。 现在的问题是:当用户在页面上closures这样的类别时,我想再次清空URL片段,即将http://example.com/#foobar变成http://example.com/来更新固定链接显示。 但是,使用parent.location.hash = ''会导致重新加载整个页面(例如,在Firefox 3中),这是我想避免的。 使用window.location.href = '/#'将不会触发页面重新加载,但在URL中留下一些看上去很前卫的“#”号。 那么在stream行的浏览器中有没有一种方法可以在不触发页面刷新的情况下JavaScript去除包含“#”符号的URL定位符?

我可以检测使用PHP和GD的animationGIF?

我目前遇到一些使用GD调整图像大小的问题。 一切工作正常,直到我想调整一个animation的GIF,它提供了黑色背景上的第一帧。 我已经尝试使用getimagesize但只给了我尺寸,没有什么区别只是任何gif和animation之一。 animationGIF并不需要实际的大小调整,只要能跳过它们就足够了我们的目的。 任何线索? PS。 我没有访问imagemagick。 亲切的问候, 短剑的一种

遗传algorithm资源

最近我对遗传algorithm的话题感兴趣,但是我找不到任何好的资源。 如果你知道任何好的资源,书籍或网站,我将不胜感激。 我对algorithm和人工智能拥有丰富的知识,但是我正在寻找一些在遗传编程方面有很好介绍的东西。

如何从Subversion服务器显示存储库列表

我正在寻找一种方法来search整个颠覆服务器。 我已经有了一个在存储库中search的难题。 现在我需要为每个存储库执行此操作。 更新: 我必须从一些unix shell脚本(perl,bash等)访问这个列表。

如何在OpenCL中使用本地内存?

我最近一直在玩OpenCL,并且能够编写只使用全局内存的简单内核。 现在我想开始使用本地内存,但我似乎无法弄清楚如何使用get_local_size()和get_local_id()来一次计算一个“块”的输出。 例如,假设我想将Apple的OpenCL Hello World示例内核转换为使用本地内存的东西。 你会怎么做? 这是原始的内核源码: __kernel square( __global float *input, __global float *output, const unsigned int count) { int i = get_global_id(0); if (i < count) output[i] = input[i] * input[i]; } 如果这个例子不能很容易地转换成显示如何使用本地内存的东西,那么任何其他简单的例子都可以。

JSP自定义标签属性的默认值

为自定义JSP标记定义属性时,是否可以指定默认值? attribute指令不具有默认值属性。 目前我正在做: <%@ attribute name="myAttr" required="false" type="java.lang.String" %> <c:if test="${empty myAttr}" > <c:set var="myAttr" value="defaultValue" /> </c:if> 有没有更好的办法?

Automapper:使用Entity Framework 4 Proxy Pocos在inheritance上映射问题,在集合上映射抽象基类

我有一个问题,使用AutoMapper(这是一个很好的技术)来映射一个业务对象到一个DTO的地方,我从集合中的抽象基类inheritance。 这是我的对象: abstract class Payment class CashPayment : Payment class CreditCardPayment : Payment 我还有一个发票对象,其中包含如下付款的集合: public class Invoice { … properties… public ICollection<Payment> Payments { get; set; } } 我也有这些对象的每个相应的DTO版本。 DtoInvoice对象被定义为: [DataContract] public class DtoInvoice { …properties… [DataMember] public List<DtoPayment> Payments { get; set; } } 这就是我的Mapper定义的样子: Mapper.CreateMap<Invoice, DtoInvoice>(); Mapper.CreateMap<Payment, DtoPayment>() .Include<CashPayment, DtoCashPayment>() .Include<CreditCardPayment, DtoCreditCardPayment>(); Mapper.CreateMap<CashPayment, […]

如何从jQuery中的当前元素开始select下一个“n”元素?

如何从当前元素开始select下一个“n”个元素? 我的意思是… $(this).attr(…); 我想这样做“n”次。 对于n = 4的示例: $(this).attr(…); $(this).next().attr(…); $(this).next().next().attr(…); $(this).next().next().next().attr(…); 或者也许在一个循环中: for (i = 0; i < n; i++) { $(this).next().attr(…); } 我怎样才能做到这一点? 有没有一种方法可以通过select下一个“n”元素或在循环中做到这一点?

打印Python堆栈跟踪没有例外被提出

我的一个类的实例variables发生了一些事情。 我想让variables成为一个属性,每当它被访问的时候,我想打印出所有代码的堆栈跟踪,所以我可以看到它被混淆了。 当没有exception提出时,如何打印出堆栈跟踪? 我知道是否有例外,我可以做一些像traceback.format_tb(sys.exc_info()[2]) 。 另外可能有用的是只打印最后的3-4个级别,因为前几个可能不会那么有趣。