vue favicon设置以及动态修改favicon的方法


Posted in Javascript onDecember 21, 2018

最近写公司项目时,动态更新favicon

动态更新之前需要有一个默认的favicon。

目前vue-cli搭建的vue项目里面已经有了一个static文件夹,存放静态文件。

vue favicon设置以及动态修改favicon的方法

favicon图片放到该文件夹下。

然后再index.html中添加:

<link rel="shortcut icon" type="image/x-icon" href="static/favicon.ico" rel="external nofollow" >

然后刷新浏览器,就会更新。

如果没有效果,则查看你的build文件夹下:build/webpack.dev.conf.js中。(到这个步骤之前我的是出现了,并且正常显示,如果不显示,则配置一下吧。)

vue favicon设置以及动态修改favicon的方法

new HtmlWebpackPlugin({
   filename: 'index.html',
   template: 'index.html',
   inject: true,
   favicon:'../stastic/favicon.ico'
  }),

到这个时候,页面的favicon已经可以正常显示了。

然而,如何从服务器动态获取图片呢,这样以来就可以像上传文件一样,随意更换favicon。先看一下stackoverflow上的回答

(function() {
  var link = document.querySelector("link[rel*='icon']") || document.createElement('link');
  link.type = 'image/x-icon';
  link.rel = 'shortcut icon';
  link.href = 'http://www.stackoverflow.com/favicon.ico';
  document.getElementsByTagName('head')[0].appendChild(link);
})();

动态创建link标签,然后添加元素。我目前写的项目是从前端上传到服务器的图片,关于如何上传图片,额,粘贴一下代码吧。

logoFirstChange(val) {
    let that = this; 
    let Fr = new FileReader;
    let file = val.target.files[0];
//获取需要更换的img的id,我这里更换的图片比较多,并且方法都一样,所以写同样的方法里面了。
    let img = document.getElementById(val.srcElement.name.split('|')[0]);
    Fr.readAsDataURL(file);
    Fr.onloadend = function () {
     img.src = this.result;
    };
    let fd = new FormData();
//addend('参数名','参数值'),参数名需要和后端对应
    fd.append('InputFile', file);
    fd.append('logo_id', val.srcElement.name.split('|')[1]);
//vue项目中为了方便更改一下axios原型链,其实就是发送一个axios请求。这里正常的axios就行,不用谢Blob类型,没什么用,我当时是为了测试一下这个类型。
    that.Axios.post(that.prefix + '/yr_logo/logo_update/',fd,new Blob([fd], { type: 'multipart/form-data' }))
     .then(function (res) {
      if (res.data.status == 1) {
       util.notification('success', '成功', res.data.success_msg);
      } else {
       util.notification('error', '失败', res.data.error_msg);
      }
       img.value = '';
     })
     .catch(function (err) {
      console.log(err);
     });
//上传之后修改了一下axios的原型链,因为全局其他页面都需要。(这里忽略)
    that.Axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';
    that.Axios.defaults.transformRequest = function (data) {
     let ret = '';
     for (let it in data) {
      ret += encodeURIComponent(it) + '=' + encodeURIComponent(data[it]) + '&'
     }
     return ret.slice(0, ret.length - 1);
    }
   }

先这样吧,语言组织能力不怎么样,想起来什么再补充。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
理解JSON:3分钟课程
Oct 28 Javascript
js获取字符串最后一位方法汇总
Nov 13 Javascript
JavaScript学习笔记之取数组中最大值和最小值
Mar 23 Javascript
Bootstrap模仿起筷首页效果
May 09 Javascript
jQuery图片前后对比插件beforeAfter用法示例【附demo源码下载】
Sep 20 Javascript
JS实现留言板功能
Jun 17 Javascript
node实现登录图片验证码的示例代码
Apr 20 Javascript
基于Vue自定义指令实现按钮级权限控制思路详解
May 23 Javascript
Vue 解决多级动态面包屑导航的问题
Nov 04 Javascript
vue跳转方式(打开新页面)及传参操作示例
Jan 26 Javascript
jQuery实现开关灯效果
Aug 02 jQuery
如何HttpServletRequest文件对象并储存
Aug 14 Javascript
微信小程序自定义键盘 内部虚拟支付
Dec 20 #Javascript
微信小程序实现随机验证码功能
Dec 20 #Javascript
微信小程序实现发送验证码按钮效果
Dec 20 #Javascript
使用puppeteer爬取网站并抓出404无效链接
Dec 20 #Javascript
详解如何使用node.js的开发框架express创建一个web应用
Dec 20 #Javascript
js canvas实现橡皮擦效果
Dec 20 #Javascript
浅谈VueJS SSR 后端绘制内存泄漏的相关解决经验
Dec 20 #Javascript
You might like
谏山创故乡大分县日田市水坝将设立《进击的巨人》立艾伦、三笠以及阿尔敏的铜像!
2020/03/06 日漫
php获取用户IPv4或IPv6地址的代码
2012/11/15 PHP
用jquery ajax获取网站Alexa排名的代码
2009/12/12 Javascript
js获取键盘按键响应事件(兼容各浏览器)
2013/05/16 Javascript
js操作label给label赋值及取label的值示例
2013/11/07 Javascript
用js正确判断用户名cookie是否存在的方法
2014/01/28 Javascript
javascript中apply和call方法的作用及区别说明
2014/02/14 Javascript
文本域中换行符的替换示例
2014/03/04 Javascript
一行命令搞定node.js 版本升级
2014/07/20 Javascript
原生js和jquery实现图片轮播特效
2015/04/23 Javascript
将页面table内容与样式另存成excel文件的方法
2015/08/05 Javascript
完善的jquery处理机制
2016/02/21 Javascript
Bootstrap模态对话框的简单使用
2016/04/29 Javascript
关于不同页面之间实现参数传递的几种方式讨论
2017/02/13 Javascript
layui框架中layer父子页面交互的方法分析
2017/11/15 Javascript
nodejs dgram模块广播+组播的实现示例
2019/11/04 NodeJs
JavaScript实现轮播图效果
2020/10/30 Javascript
python使用mysql的两种使用方式
2018/03/07 Python
TensorFLow用Saver保存和恢复变量
2018/03/10 Python
Flask之flask-script模块使用
2018/07/26 Python
python 剪切移动文件的实现代码
2018/08/02 Python
python 常见字符串与函数的用法详解
2018/11/23 Python
django主动抛出403异常的方法详解
2019/01/04 Python
Python脚本修改阿里云的访问控制列表的方法
2019/03/08 Python
你还在@微信官方?聊聊Python生成你想要的微信头像
2019/09/25 Python
Django重设Admin密码过程解析
2020/02/10 Python
python 读取二进制 显示图片案例
2020/04/24 Python
Big Green Smile法国:领先的英国有机和天然产品在线商店
2021/01/02 全球购物
关于Assembly命名空间的三个面试题
2015/07/23 面试题
乡镇消防工作实施方案
2014/03/27 职场文书
房屋买卖委托书格式范本格式
2014/10/13 职场文书
实习生矿工检讨书
2014/10/13 职场文书
结婚典礼主持词
2015/06/29 职场文书
感恩教育主题班会
2015/08/12 职场文书
解析在浏览器地址栏输入一个URL后发生了什么
2021/06/21 Servers
Smart 2 车辆代号 HC11 全新谍照曝光
2022/04/21 数码科技