javascript填充默认头像方法
在我的不少项目中,都有缺省头像的问题。为了保持个性和方便辨认,会给没有头像的用户填充带名字的头像。
代码分享:https://github.com/joaner/namedavatar

调用简单
如果上传头像不存在,直接会在 <img> 标签上填充默认头像,用户名从alt获取:
<img alt="李连杰" width="32" style="border-radius: 100%">
<img src="./invalid.jpg" alt="Tom Hanks" width="40">
<script>
requirejs('namedavatar', function(namedavatar){
namedavatar.config({
nameType: 'lastName',
})
namedavatar.setImgs(document.querySelectorAll('img[alt]'), 'alt')
})
</script>
如果<img src="./invalid.jpg">资源无效,namedavatar.setImgs()就会填充alt里的用户名,src变成这样
<img id="avatar1" src="data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><rect fill="#9C27B0" x="0" y="0" width="100%" height="100%"></rect><text fill="#FFF" x="50%" y="50%" text-anchor="middle" alignment-baseline="central" font-size="16" font-family="Verdana, Geneva, sans-serif">Hanks</text></svg>">
相比其它类似项目
- 首先对中文姓名的支持更好
- 直接在<img>标签上填充data URI,绿色无添加,应用成本更低
- 基于<svg>,没有用<canvas>渲染,性能也会好一点
- 支持的配置项更多,比如可以定义显示哪部分,或是随机背景颜色
也支持Vue.js的 directive 指令方式
import { directive } from 'namedavatar/vue'
// register as directive
Vue.directive('avatar', directive);
// in vue template
<template>
<img v-avatar="'Tom Hanks'" width="36"/>
</template>
以上就是本次整理的全部内容,感谢大家对脚本之家的支持。
相关文章
C#中TrimStart,TrimEnd,Trim在javascript上的实现
今天在后台写了个类,后来才发现,需要在JS上做..于是把代码拷到js上进行修改,代码中用到TrimStart,TrimEnd,Trim等方法,在网上找半天竟然没找到.要么就只能清除空格的!2011-01-01
JavaScript中的for...of和for...in循环容易遇到的问题及解决方法总结
在 JavaScript 编程中,for...of 和 for...in 是常用的循环语法,但它们在使用时可能会引发一些意想不到的问题,本文将分享我在使用这两种循环时所遇到的坑和经验,需要的朋友可以参考下2023-08-08
微信小程序中使用Async-await方法异步请求变为同步请求方法
这篇文章主要介绍了微信小程序中使用Async-await方法异步请求变为同步请求方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2019-03-03
理解 JavaScript 对象属性访问的复杂性(示例代码)
在 JavaScript 编程中,开发者经常需要对对象的属性进行访问,然而,访问方式的不同可能导致代码行为的差异,尤其在动态属性的处理中,本文介绍JavaScript对象属性访问的复杂性,感兴趣的朋友跟随小编一起看看吧2024-12-12


最新评论