我只是想在博客上创建一个简单的评论表单。当他/她在电子邮件框中写下这些时,我想加载用户的gravatar (使用jQuery)。
我该怎么做呢?
发布于 2009-04-01 12:56:25
gravatar url如下所示:
http://www.gravatar.com/avatar/<md5hashofemail>
Here are the rest of the options for the URL.
因此,您需要做的就是包含一个名为md5的函数,该函数返回用户电子邮件的md5散列。网上有很多这样做的网站,但我相信https://github.com/blueimp/JavaScript-MD5/blob/master/README.md运行得很好。在此之后,只需执行以下操作:
// get the email
var email = $('#email').val();
// -- maybe validate the email?
// create a new image with the src pointing to the user's gravatar
var gravatar = $('<img>').attr({src: 'http://www.gravatar.com/avatar/' + md5(email)});
// append this new image to some div, or whatever
$('#my_whatever').append(gravatar);
// OR, simply modify the source of an image already on the page
$('#image').attr('src', 'http://www.gravatar.com/avatar/' + md5(email));
我认为这是显而易见的,但为了后人着想,我将添加它:
如果用户电子邮件是私有的,并且您在列表中显示了此ala-stackoverflow,那么在服务器上对电子邮件进行编码可能会更好,这样当您查看源邮件时,用户电子邮件就不会公开可见。
发布于 2013-07-26 18:41:52
查看提供函数的my fiddle
get_gravatar_image_url (email, size, default_image, allowed_rating, force_default)
只有提供电子邮件是必需的-其余的使用默认值。
请务必将Joseph Myers的事实标准MD5-generator JS file也包含在
<script src="http://www.myersdaily.org/joseph/javascript/md5.js"></script>
发布于 2013-11-07 15:41:04
哇,谢谢你的这篇文章。但是如果你有自己的空白图像,并且你想使用它而不是gravatar。
<script src="https://cdnjs.cloudflare.com/ajax/libs/blueimp-md5/2.12.0"><script>
<img id="image" src="images/mydefault.png" />
<script>
var src = 'http://www.gravatar.com/avatar/' +
md5('yourmail@gmail.com') + '?default=' + encodeURIComponent(GetRootDomain() + '/Content/images/nopic-small.png');
$('#image').attr('src', src);
</script>
https://stackoverflow.com/questions/705344
复制相似问题