Gravatar (Globally Recognized Avatar) 是一项由Automattic公司提供的全球头像服务,允许用户通过电子邮件地址关联头像图片。当网站集成了Gravatar后,用户只需使用注册过Gravatar的邮箱,就能自动显示其设置的头像。
使用jQuery加载Gravatar头像的基本步骤如下:
function getGravatar(email, size, defaultImage) {
// 计算MD5哈希
const hash = md5(email.trim().toLowerCase());
// 构建Gravatar URL
let url = `https://www.gravatar.com/avatar/${hash}?s=${size || 80}`;
if (defaultImage) {
url += `&d=${encodeURIComponent(defaultImage)}`;
}
return url;
}
// 使用示例
$(document).ready(function() {
const email = "user@example.com";
const gravatarUrl = getGravatar(email, 200, 'identicon');
$('#avatar').attr('src', gravatarUrl);
});
上面的代码需要MD5函数,可以使用现有的MD5库,如:
<script src="https://cdnjs.cloudflare.com/ajax/libs/blueimp-md5/2.19.0/js/md5.min.js"></script>
<!DOCTYPE html>
<html>
<head>
<title>Gravatar示例</title>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/blueimp-md5/2.19.0/js/md5.min.js"></script>
<script>
$(document).ready(function() {
function getGravatar(email, size, defaultImage) {
const hash = md5(email.trim().toLowerCase());
let url = `https://www.gravatar.com/avatar/${hash}?s=${size || 80}`;
if (defaultImage) {
url += `&d=${encodeURIComponent(defaultImage)}`;
}
return url;
}
$('#load-avatar').click(function() {
const email = $('#email').val();
const size = $('#size').val();
const defaultImg = $('#default-img').val();
if (!email) {
alert('请输入邮箱地址');
return;
}
const gravatarUrl = getGravatar(email, size, defaultImg);
$('#avatar').attr('src', gravatarUrl);
$('#avatar-url').text(gravatarUrl);
});
});
</script>
</head>
<body>
<h1>Gravatar头像加载示例</h1>
<div>
<label for="email">邮箱地址:</label>
<input type="email" id="email" placeholder="user@example.com">
</div>
<div>
<label for="size">头像大小:</label>
<input type="number" id="size" value="80" min="1" max="2048">
</div>
<div>
<label for="default-img">默认图片URL:</label>
<input type="text" id="default-img" placeholder="可选">
</div>
<button id="load-avatar">加载头像</button>
<div>
<img id="avatar" src="" alt="Gravatar头像" style="margin: 20px 0; border-radius: 50%;">
</div>
<div>
<strong>Gravatar URL:</strong>
<span id="avatar-url"></span>
</div>
</body>
</html>
Gravatar URL支持多个参数:
s
- 图片大小(像素),1-2048d
- 默认图片(当邮箱没有注册Gravatar时显示)r
- 图片评级(g, pg, r, x)f
- 强制使用默认图片(y)原因:
解决:
原因:
解决:
原因:
解决:
原因:
解决:
没有搜到相关的文章