javascript填充默认头像方法


Posted in Javascript onFebruary 22, 2018

在我的不少项目中,都有缺省头像的问题。为了保持个性和方便辨认,会给没有头像的用户填充带名字的头像。

代码分享:https://github.com/joaner/namedavatar

javascript填充默认头像方法

调用简单

如果上传头像不存在,直接会在 <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>">

相比其它类似项目

  1. 首先对中文姓名的支持更好
  2. 直接在<img>标签上填充data URI,绿色无添加,应用成本更低
  3. 基于<svg>,没有用<canvas>渲染,性能也会好一点
  4. 支持的配置项更多,比如可以定义显示哪部分,或是随机背景颜色

也支持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>

以上就是本次整理的全部内容,感谢大家对三水点靠木的支持。

Javascript 相关文章推荐
javascript英文日期(有时间)选择器
May 02 Javascript
javascript 关闭IE6、IE7
Jun 01 Javascript
jQuery中wrapInner()方法用法实例
Jan 16 Javascript
js验证框架实现代码分享
May 18 Javascript
vue-router+vuex addRoutes实现路由动态加载及菜单动态加载
Sep 28 Javascript
原生JavaScript实现remove()和recover()功能示例
Jul 24 Javascript
jQuery实现的简单日历组件定义与用法示例
Dec 24 jQuery
jQuery实现左右两个列表框的内容相互移动功能示例
Jan 27 jQuery
如何自动化部署项目?折腾服务器之旅~
Apr 16 Javascript
微信小程序分享功能onShareAppMessage(options)用法分析
Apr 24 Javascript
JavaScript运动原理基础知识详解
Apr 02 Javascript
vue select 获取value和lable操作
Aug 28 Javascript
一次记住JavaScript的6个正则表达式方法
Feb 22 #Javascript
利用CDN加速react webpack打包后的文件详解
Feb 22 #Javascript
node内置调试方法总结
Feb 22 #Javascript
详解vue移动端日期选择组件
Feb 22 #Javascript
webpack 单独打包指定JS文件的方法
Feb 22 #Javascript
webpack中使用iconfont字体图标的方法
Feb 22 #Javascript
微信小程序之圆形进度条实现思路
Feb 22 #Javascript
You might like
PHP生成条形图的方法
2014/12/10 PHP
详解no input file specified 三种解决方法
2019/11/29 PHP
IE php关于强制下载文件的代码
2008/08/23 Javascript
jquery $.ajax入门应用二
2008/11/19 Javascript
Javascript 同时提交多个Web表单的方法
2009/02/19 Javascript
网页中返回顶部代码(多种方法)另附注释说明
2013/04/24 Javascript
js 日期比较相关天数代码
2014/04/02 Javascript
JavaScript汉诺塔问题解决方法
2015/04/21 Javascript
JS实现三个层重叠点击互相切换的方法
2015/10/06 Javascript
node网页分段渲染详解
2016/09/05 Javascript
jQuery zTree树插件动态加载实例代码
2017/05/11 jQuery
JavaScript切换搜索引擎的导航网页搜索框实例代码
2017/06/11 Javascript
React Native中NavigatorIOS组件的简单使用详解
2018/01/27 Javascript
vue单页应用在页面刷新时保留状态数据的方法
2018/09/21 Javascript
Vue表单输入绑定的示例代码
2018/11/01 Javascript
js的各种数据类型判断的介绍
2019/01/19 Javascript
解决layer图标icon不加载的问题
2019/09/04 Javascript
vue利用全局导航守卫作登录后跳转到未登录前指定页面的实例代码
2020/05/19 Javascript
[42:50]NB vs VP 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
[01:04:02]DOTA2-DPC中国联赛 正赛 Elephant vs IG BO3 第二场 1月24日
2021/03/11 DOTA
Python 中urls.py:URL dispatcher(路由配置文件)详解
2017/03/24 Python
Python 操作MySQL详解及实例
2017/04/30 Python
python linecache 处理固定格式文本数据的方法
2019/01/08 Python
Python动态参数/命名空间/函数嵌套/global和nonlocal
2019/05/29 Python
Python使用正则实现计算字符串算式
2019/12/29 Python
python ImageDraw类实现几何图形的绘制与文字的绘制
2020/02/26 Python
python实现文法左递归的消除方法
2020/05/22 Python
Python定义一个Actor任务
2020/07/29 Python
详解python 内存优化
2020/08/17 Python
Django项目在pycharm新建的步骤方法
2021/03/02 Python
奥地利体育网上商店:Gigasport
2019/10/09 全球购物
党的群众路线教育实践活动个人对照检查材料(乡镇)
2014/11/05 职场文书
2014保险公司个人工作总结
2014/12/09 职场文书
小学生学习保证书
2015/02/26 职场文书
社区低保工作总结2015
2015/07/23 职场文书
创业计划书之干洗店
2019/09/10 职场文书