> 此文送给强力的 Zww 童鞋,祝愿他变得更加强力哈,^O^。主要是如何用 jQuery 载入 Gravatar 头像。
> 不过因为突然发现 JavaScript 木有自带 md5 函数,所以不得不载入某牛人的第三方代码库来搞定它。

一. 演示地址:
> o(* ̄▽ ̄*)ゞ 强力滴传送门 - http://www.evlos.org/apps/demo/jquery_001
二. 代码解释:
jQuery(document).ready(function($){
$('#box .submit').click(function(){
$('#box .ava').html('<img src="http://gravatar.com/avatar/'+hex_md5($('#box .mail').attr('value'))+'?s=180&r=G" />');
}); //hex_md5函数可以把mail地址转换为md5形态
//s=180 (s参数表示头像的尺寸,单位是像素)
//r=G (r参数表示头像的显示等级,G表示通用等级)
//d=Xxx (d参数为默认头像地址,可以舍弃)
});
三. 源代码下载:
> Md5.js - http://code.google.com/p/evlosbox/downloads/detail?name=md5.js&can=2&q=
> Jquery-1.4.2.min.js - http://code.google.com/p/evlosbox/downloads/detail?name=jquery-1.4.2.min.js
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Ajax Gravatar Demo V1</title>
<style type="text/css">
#box {
margin:30px;
}
#box .submit {
color: #aaa;
}
#box .submit:hover {
color:blue;
cursor:pointer;
}
</style>
<!-- 注意$的兼容性,如果发生冲突,请自行改成jQuery -->
<script type="text/javascript" src="jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="md5.js"></script>
<script type="text/javascript">
jQuery(document).ready(function($){
$('#box .submit').click(function(){
$('#box .ava').html('<img src="http://gravatar.com/avatar/'+hex_md5($('#box .mail').attr('value'))+'?s=180&r=G" />');
});
});
</script>
</head>
<body>
<div id="box">
<p><input class="mail" value="4tyle8@gmail.com" /> || <span class="submit">点击这里获取头像</span>(可自行用blur() 方法或其他方法替换)</p>
<p>头像:</p>
<p class="ava"></p>
</div>
</body>
</html>
四. 随记:
> 已经顺利到荷兰鸟,前几天小邪一直在弄新房子,还有身份证和银行卡地址也要变更,花了好多时间。
> 然后到学校处理完事物。今天终于回来鸟,装死期结束,正常的代码人生开始继续咯。
继续读书还是直接移民过去了啊?
@Kada , 继续读书啦,呵呵,移民木有那么容易的 ~
@小邪 , :redface: 往哪移啊,顺便把我也移过去吧
@小邪 , 在那边待多久?有工作了可不可以获得永久居住权?还有,那边容易融入当地社会吗?
代码牛人,跟着你们学习~~
@飞晏 , 很高兴对你有帮助喔 ~
JQ载入有什么好入?因为现在大多用的本地缓存头像
@BoKeam , 唔,这个是与其他的AJAX效果组合使用的,呵呵 ~
@BoKeam , 喔,对了,也可以直接配个PHP缓存程序使用 ~
这个主要是用来预览你的头像用的吧,防止一不小心把邮箱填错~
@小松 , 呵呵,差不多啦,这个功能都被你发现鸟 ~
@小邪 , 哈哈,偶已经用上鸟~

@小松 , 嘿嘿,试了一下,很COOL ~ :redface:
@fatkun , 蛋定,其实很折腾人的 ~
嗯,一句话jquery就能实现,我用的就是这个。不过md5函数有点大,我是判断有无访客cookie,没有才载入这个js
@winy , 有才的判断,好主意 o(* ̄▽ ̄*)ゞ
:biggrin: 世界跑遍遍
@Ray Chow , 在世界的每个角落留下脚印 ( ̄y▽ ̄)╭ Ohohoho... ~
荷兰好遥远 :exclaim: :exclaim:
@久酷 , ╮( ̄▽ ̄)╭,坐飞机坐的人想屎了 ~
现在提交评论速度挺快的
@久酷 , 嘿嘿,贼快贼快的 ~

就是用了gmail的smtp服务器,所以有点延迟 ~
这个应用很实用啊。
@oYoo , 呵呵,结合其他东西就能突出亮点鸟 ~
我来也,博主的博客还算干净,我那里都让垃圾评论充斥了。
@德克士 , 哎,蛋定,把“评论者必须曾有一条评论被批准”开启吧 ~
也要送给我滴,等了很久这文~~~~回头整合上
@hzlzh , 哇,真开心对你有用 ~ o(* ̄▽ ̄*)ゞ
荷兰真是好地方啊,你可以穿裙子喽~
@hzlzh , 同意,还可以跳草裙舞了
@rusaer , 。。。。小邪变土著了 ~ :exclaim:
@hzlzh , 嘿嘿,穿裙子的节日在2月左右来着 ~
好大一个md5...
@路人假 , 。。。。这就是杯具所在啊 ~
额的神啊,头像都那么邪恶
@阿吴 , 承让了 ~

小邪的技术越发精湛了
;在荷兰生活怎样。。。 :biggrin:
@Hailo , 呵呵,还好啦,依然不够啊 ~ :redface:
在荷兰还不错,回头来照片 ~
啊哦!这个很强悍哦!呵呵
@joyla , 呵呵,还好啦 ~ :redface: :redface:
这个做一个缓存再读取,呵呵!
@joyla , 嘿嘿嘿,好主意,直接可以向缓存程序发送请求 ~
@小邪 , 恩,现在很多头像都是那样做的!呵呵
昨天刚用到了这个技术,用的 blur
@mice , 嘿嘿,GOOd,就是这样 ~
@mice , 呵呵,随意啦,就看大家的创意能力咯 ~
以前用过这个原理
@蓝冰 , 哎呀呀,握手握手 ~ 小邪才用呢 ~
含笑不语。。。
@QiQiBoY , 相对淫笑 ~

终于有一个可以很轻松的看懂的了,
@N , 小邪瞬间鸡冻了,终于有人看懂鸟 ~
在荷兰哦,好牛 :biggrin:
@yetone , 呵呵,还好啦,都要努力的呢 ~
Nice!MD5.js最喜欢了...
@MOPVHS , 嘿嘿, :redface: :redface: :redface: :redface: ~
文章不错,加油
@逗妇鲁 , 谢谢支持 ~ 呵呵 ~
在荷兰。。多好哇 :biggrin:
@A.shun , ╮( ̄▽ ̄)╭,也很辛苦呢 ~
强悍 学习下
@书香阁 , 谢谢支持 ~!
期待你在荷兰的照片 :biggrin:
@秦大少 , 嘿嘿,那是一定要的,整理中 ~
偷偷告诉你,我已经用上啦~

@小松 , 嘿嘿嘿,收到 ~!
这个方法我现在不折腾了,需要另外加载md5函数js,我精简过的代码也很快了,但方法还是收藏先,或许以后要用到,嘿嘿。
小邪又出国了啊,荷兰对于我来说好遥远……
@zwwooooo , 你精简过的代码贼快贼快的 ~

(¯﹃¯)口水 ~
@Qing , ╮( ̄▽ ̄)╭,没办法,不过小邪这里的盆友都很不错呢 ~
发现楼上所有的都有头像,看来这东西已经是人手一个了,呵呵,Gravatar还是非常方便啊。
@电脑知识收藏夹 , 嘿嘿,现在没头像的就是spamer鸟 ~
@小邪 , 我博客就没几个人评论,有评论90%也是没头像的,要知道头像这东西弄起来很麻烦的,对于普通用户来说。
@小邪 , ╮( ̄▽ ̄)╭,那你只能弄个随机头像 ~
或者设置一个漂亮的默认头像鸟 ~ :redface:
@小邪 , 晕,回错鸟,难道无限嵌套会有这样的杯具 ~?!
@电脑知识收藏夹 , ╮( ̄▽ ̄)╭,那你只能弄个随机头像 ~
或者设置一个漂亮的默认头像鸟 ~ :redface:
哇哈哈,会不会有人记录那个演示邮箱,然后冒充楼主去别的地方评论呢,记得以前wange就发生过类似的事情。
@电脑知识收藏夹 , 额,那就是杯具鸟,不过相信认识小邪的盆友都知道小邪的留言风格 ~
Jquery 和 缓存 哪个更好一些?
@FORECE , 额,jQuery+缓存更好,jQuery向缓存程序发请求 ~
缓存程序进行缓存,然后返回 ~
不知道有什么用?
@阿七 , 嘿嘿,就是那个那个的用法 ~

看起来好复杂 :exclaim:
@风中的峰 , 蛋定,蛋定蛋定蛋定蛋定蛋定蛋定蛋定蛋定 ~
小邪的肉身又出国啦?怎么不吱一声,把我塞在行李包里带出去啊
@万戈 , 。。。您老超重的 ~

学习下·我都一直没有折腾JQ
@哲哲 , 唔,有时候对新出来的东西总是觉得很麻烦 ~
不过只要一开始接触,就发现很轻松了呢 ~
明儿我也去河南一趟,
@rusaer , - - 。。。小邪会在河南给您老接风洗尘的 ~
去荷兰采花嘛?哇哈哈 :redface: :redface:
@阿修 ,
那是必须的 ~
有点想折腾一下
@亿品元素 , 忍不住就开始吧 ~
强烈建议多写点生活。。 想瞧瞧荷兰的美女 :biggrin:
@超人 , - -,到学校[偷拍] Σ[ ◎ ]}ー′)?!
@任鸟飞 , 呵呵,就看开发者的创意能力鸟 ~ :redface: :redface:
:exclaim: 俺是膜拜正常的代码人生来的。
@朽木 , ╮( ̄▽ ̄)╭[握住双手],挺住,同志 ~
小邪的功力又增加啦。
uuto.org快过期可,地址换成vine.cc
@葡萄 , 呵呵,换好鸟 ~ 对了,友链也要换 ~
winymm的头像预览效果咩
小邪的头像一撮毛竖起来好可爱>_<
@snowxh , 。。原来winy是MM,小邪错鸟 ~

新朋友来访 人气好旺啊
@书香阁 , 呵呵,欢迎来玩 ~ :biggrin: :biggrin:
暂时用不上,一看就是好东西
@Ygs , 呵呵,需要的时候到小邪这里翻就好 ~

小邪,

帶我去Taiwan
@沃!小雞雞 , 。。。小邪在荷蘭 ~ 那個,你可以選擇空運來著 ~
有一个代码强人被偶发现鸟~
@有点蓝 , 呵呵,(*/ω\*)[脸红掩面] ~
真的好羡慕呀。代码学的这么好。
@白龙马 , 呵呵,只要努力,没有学不好的喔 ~
小邪果然强悍,学习了
@兰色忧郁 , 还好啦 (*/ω\*)[脸红] ~~
果然很强悍,找了很久了这个,终于找到了,搜藏了。多谢!继续关注中
@Bernie , 不客气,小邪最开心的就是自己的代码对大家有用鸟。
@mz , 唔,没有注册的时候应该返回的就是那个默认图像,小邪的思路是获取一小部分的这个图像的二进制内容,作为特征,以后获取到的图像都对比一下,相同的话就说明木有注册。不过好像实现起来有点麻烦,唔,先回复这个吧,回头小邪找找看。
@小邪 ,
俺自己解决了,不过要用到Jquery1.5以上版本里的$.ajax({statusCode: {200: function (){ }}});
@mz , o(* ̄▽ ̄*)ゞ,额,200应该是正常的状况,那么不正常的状况是啥,400么?(=@__@=)。好像没头像的时候也显示的是默认头像呀,难道显示默认头像的同时也能返回400?o(╯□╰)o,糊涂咯,求解。o(* ̄▽ ̄*)ゞ。
@小邪 , = -||是我没说清楚……在调用G头像时在后面加上
?d=404时,如果这个MD5HASH没有头像就会返回一个404,就不用分析图像啦@mz ,
原来如此,杯具,倒是木有仔细研究过这些参数。
@长岛冰泪 , 还好啦 o(* ̄▽ ̄*)ゞ 。嘿嘿。