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对象是否可用的最正确方法分析
Oct 03 Javascript
Enter转换为Tab的小例子(兼容IE,Firefox)
Nov 14 Javascript
Javascript 按位左移运算符使用介绍(
Feb 04 Javascript
jQuery遍历Table应用示例
Apr 09 Javascript
js中数组排序sort方法的原理分析
Nov 20 Javascript
Jquery中offset()和position()的区别分析
Feb 05 Javascript
JS清除文本框内容离开在恢复及鼠标离开文本框时触发js的方法
Jan 12 Javascript
javascript基本算法汇总
Mar 09 Javascript
Vue.js快速入门实例教程
Oct 15 Javascript
Vue实现web分页组件详解
Nov 28 Javascript
vue2.0实现列表数据增加和删除
Jun 17 Javascript
微信小程序实现电影App导航和轮播
Nov 30 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
SWFUpload与CI不能正确上传识别文件MIME类型解决方法分享
2011/04/18 PHP
php无限分类且支持输出树状图的详细介绍
2013/06/19 PHP
PHP模板引擎Smarty之配置文件在模板变量中的使用方法示例
2016/04/11 PHP
PHP copy函数使用案例代码解析
2020/09/01 PHP
利用NodeJS的子进程(child_process)调用系统命令的方法分享
2013/06/05 NodeJs
showModalDialog在谷歌浏览器下会返回Null的解决方法
2013/11/27 Javascript
使用jquery实现IE下按backspace相当于返回操作
2014/03/18 Javascript
AspNet中使用JQuery上传插件Uploadify详解
2015/05/20 Javascript
JavaScript检测鼠标移动方向的方法
2015/05/22 Javascript
JS实现不使用图片仿Windows右键菜单效果代码
2015/10/22 Javascript
分享JavaScript监听全部Ajax请求事件的方法
2016/08/28 Javascript
基于Nodejs的Tcp封包和解包的理解
2018/09/19 NodeJs
Node.js API详解之 zlib模块用法分析
2020/05/19 Javascript
OpenLayers3实现测量功能
2020/09/25 Javascript
vue实现下载文件流完整前后端代码
2020/11/17 Vue.js
编写Python脚本抓取网络小说来制作自己的阅读器
2015/08/20 Python
Python算术运算符实例详解
2017/05/31 Python
python逆向入门教程
2018/01/15 Python
Python 25行代码实现的RSA算法详解
2018/04/10 Python
在python中bool函数的取值方法
2018/11/01 Python
python turtle库画一个方格和圆实例
2019/06/27 Python
Django 开发调试工具 Django-debug-toolbar使用详解
2019/07/23 Python
python 下 CMake 安装配置 OPENCV 4.1.1的方法
2019/09/30 Python
利用python实现凯撒密码加解密功能
2020/03/31 Python
python 利用openpyxl读取Excel表格中指定的行或列教程
2021/02/06 Python
CSS3 选择器 属性选择器介绍
2012/01/21 HTML / CSS
比较基础的php面试题及答案-编程题
2012/10/14 面试题
院药学专业个人求职信
2013/09/21 职场文书
党支部特色活动方案
2014/08/20 职场文书
开展党的群众路线教育实践活动情况汇报
2014/11/05 职场文书
遗失说明具结保证书
2015/02/26 职场文书
物业接待员岗位职责
2015/04/15 职场文书
导游词之天津盘山
2019/11/01 职场文书
python中的class_static的@classmethod的巧妙用法
2021/06/22 Python
Python+Appium自动化测试的实战
2021/06/30 Python
python编程项目中线上问题排查与解决
2021/11/01 Python