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 相关文章推荐
JavaScript 字符串连接性能优化
Dec 20 Javascript
关于jquery性能最佳实践的讨论,与求教
Mar 30 Javascript
JQuery给元素添加/删除节点比如select
Apr 02 Javascript
深入理解javaScript中的事件驱动
May 21 Javascript
Underscore.js 1.3.3 中文注释翻译说明
Jun 25 Javascript
jquery实现鼠标滑过显示二级下拉菜单效果
Aug 24 Javascript
功能强大的Bootstrap使用手册(一)
Aug 02 Javascript
js获取腾讯视频ID的方法
Oct 03 Javascript
JS实现字符串转驼峰格式的方法
Dec 16 Javascript
Bootstrap滚动监听组件scrollspy.js使用方法详解
Jul 20 Javascript
JS中使用textPath实现线条上的文字
Dec 25 Javascript
vue的安装及element组件的安装方法
Mar 09 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
在Zeus Web Server中安装PHP语言支持
2006/10/09 PHP
PHP常用函数小技巧
2008/09/11 PHP
php保存任意网络图片到服务器的方法
2015/04/14 PHP
简单谈谈PHP面向对象之标识对象
2017/06/27 PHP
PHP使用PDO调用mssql存储过程的方法示例
2017/10/07 PHP
myeclipse安装jQuery插件的方法
2011/03/29 Javascript
jquery mobile实现拨打电话功能的几种方法
2013/08/05 Javascript
老生常谈遮罩层 滚动条的问题
2016/04/29 Javascript
angularjs实现文字上下无缝滚动特效代码
2016/09/04 Javascript
Node.js设置CORS跨域请求中多域名白名单的方法
2017/03/28 Javascript
详解Vue使用 vue-cli 搭建项目
2017/04/20 Javascript
angular2+node.js express打包部署的实战
2017/07/27 Javascript
JS实现简单短信验证码界面
2017/08/07 Javascript
详解微信小程序实现WebSocket心跳重连
2018/07/31 Javascript
微信小程序HTTP请求从0到1封装
2019/09/09 Javascript
vue设置全局访问接口API地址操作
2020/08/14 Javascript
js面向对象方式实现拖拽效果
2021/03/03 Javascript
Python交换变量
2008/09/06 Python
Python简单实现安全开关文件的两种方式
2016/09/19 Python
Python爬取数据并写入MySQL数据库的实例
2018/06/21 Python
python自动化unittest yaml使用过程解析
2020/02/03 Python
python使用matplotlib的savefig保存时图片保存不完整的问题
2021/01/08 Python
python软件测试Jmeter性能测试JDBC Request(结合数据库)的使用详解
2021/01/26 Python
HTML5梦幻之旅——炫丽的流星雨效果实现过程
2013/08/06 HTML / CSS
法国在线购买汽车轮胎网站:123pneus.fr
2019/02/25 全球购物
MAC彩妆澳洲官网:M·A·C AU
2021/01/17 全球购物
编码转换,怎样实现将GB2312编码的字符串转换为ISO-8859-1编码的字符串
2014/01/07 面试题
元旦联欢会主持词
2014/03/26 职场文书
旷课检讨书500字
2014/10/14 职场文书
教师工作决心书
2015/02/04 职场文书
幼师中班个人总结
2015/02/12 职场文书
国家助学金受助感言
2015/08/01 职场文书
小学数学教师研修日志
2015/11/13 职场文书
大学生暑期社会实践的个人总结!
2019/07/17 职场文书
Mysql案例刨析事务隔离级别
2021/09/25 MySQL
Win11 vmware不兼容怎么办?Win11与VMware虚拟机不兼容的解决方法
2023/01/09 数码科技