保护邮件地址的方法为数众多,随便一搜就能找出大把。若是刚好有使用 jQuery 框架,这里有个用 jQuery 保护邮件地址的方案。此方案的优点在于:邮件地址分段存储在 JS 之中,链接被点击以后,邮件地址才会从 JS 中调出并写入 HTML 页面,目前再厉害的机器人拿它都没办法,除非开着浏览器点击。缺点嘛,访客的浏览器不支持 JS 的话会被当作机器人对待XD。
另外需要说明的是,代码本来很简单,但是考虑到大众的审美需求,多数人都会喜欢稍稍华丽的过渡效果,
所以先提供一个所谓的”华丽版”(演示地址):
html:
<p>我的邮箱:<a href=”javascript:void(0)”>点击查看</a></p>
js:
$(document).ready(function(){
$(“.email”).click(function(){
var A=”admin”
var B=”domain.com”
var C=A+”@”+B;
$(this).parent().append(“<img src=’loading.gif’ />“);
$(this).hide();
setTimeout(function(){
var D=$(“.email”);
D.next().hide();
D.text(C);
D.attr(“href”,”mailto:”+C).unbind(“click”);
D.fadeIn(1000)
},3000)
})
})
使用时,红色字体是你需要修改的部分,然后将 JS 保存为一个文件在网页上引用。链接被点击后,浏览者需要等待三秒才会看见邮件地址,既然假装异步我们就假装到底。其中用到了一个 loading 图片,你可以换成你自己的。
最后再来个朴素版:
$(document).ready(function(){
$(“.email2″).click(function(){
var A=”admin”
var B=”domain.com”
var C=A+”@”+B;
$(this).text(C);
})
})
在网页的</body>标签前插入下面两条的任意一条:
<script type=’text/javascript’
src=’http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js’></script>
<script type=’text/javascript’
src=’http://ajax.microsoft.com/ajax/jquery/jquery-1.4.2.min.js’></script>
在网页的<body>…</body>之间插入<div
id=”status”>LOADING…</div>
CSS 文件可以这样写
#status{
background:none repeat scroll 0 0
#27BCEF;
border-bottom:1px solid #888888;
border-right:1px solid
#888888;
color:#FFFFFF;
float:right;
font-size:11px;
left:45%;
letter-spacing:2px;
padding:6px
12px;
position:fixed;
text-align:center;
top:20%;
z-index:999;
_position:absolute;
_bottom:auto;
_top:expression(eval(document.documentElement.scrollTop));
_margin-top:20%;
}
JavaScript 文件这样写(务必放在 jQuery 库后面):
<script
type=”text/javascript”>
$(‘#status’).fadeOut(800);
$(“a[rel!='nofollow']a[rel!='external'][target!='_blank']a[class!='load']“).click(function()
{
$(“#status”).fadeIn(400);
setTimeout(function()
{
$(“#status”).fadeOut(400)
},
4000)
});
$(“a[href*='#'],a[rel='external
nofollow'],a[href='javascript:void(0)'],a[href='javascript:reset_captcha('')']“).click(function()
{
$(“#status”).fadeOut(400)
});
</script>
err…代码我也不多解释了,如果不会的话可以直接复制、粘贴,原因是你不熟悉 JavaScript 跟正则表达式;如果你会自然也不用我多解释了。