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 相关文章推荐
js中查找最近的共有祖先元素的实现代码
Dec 30 Javascript
JavaScript/jQuery 表单美化插件小结
Feb 14 Javascript
js 限制数字 js限制输入实现代码
Dec 04 Javascript
用jquery模仿的a的title属性的例子
Oct 22 Javascript
阿里巴巴技术文章分享 Javascript继承机制的实现
Jan 14 Javascript
浅谈JS的基础类型与引用类型
Sep 13 Javascript
jQuery选择器之表单元素选择器详解
Sep 19 jQuery
JavaScript 中的 this 工作原理
Jun 20 Javascript
微信小程序之swiper滑动面板用法示例
Dec 04 Javascript
vue动态渲染svg、添加点击事件的实现
Mar 13 Javascript
uniapp 仿微信的右边下拉选择弹出框的实现代码
Jul 12 Javascript
Vue中使用JsonView来展示Json树的实例代码
Nov 16 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
php方法调用模式与函数调用模式简例
2011/09/20 PHP
php数组删除元素示例
2014/03/21 PHP
PHP实现批量检测网站是否能够正常打开的方法
2016/08/23 PHP
基于JQuery的动态删除Table表格的行和列的代码
2011/05/12 Javascript
ie7+背景透明文字不透明超级简单的实现方法
2014/01/17 Javascript
将json对象转换为字符串的方法
2014/02/20 Javascript
用svg制作富有动态的tooltip
2015/07/17 Javascript
JavaScript 实现的 zip 压缩和解压缩工具包Zip.js使用详解
2015/12/14 Javascript
获取JS中网页各种高宽与位置的方法总结
2016/07/27 Javascript
vue从使用到源码实现教程详解
2016/09/19 Javascript
jquery获取table指定行和列的数据方法(当前选中行、列)
2016/11/07 Javascript
学好js,这些js函数概念一定要知道【推荐】
2017/01/19 Javascript
详解axios在node.js中的post使用
2017/04/27 Javascript
JS仿QQ好友列表展开、收缩功能(第一篇)
2017/07/07 Javascript
jQuery实现的简单对话框拖动功能示例
2018/06/05 jQuery
vue登录页面cookie的使用及页面跳转代码
2019/07/10 Javascript
小程序自定义弹框效果
2020/11/16 Javascript
浅谈es6中的元编程
2020/12/01 Javascript
python遍历文件夹并删除特定格式文件的示例
2014/03/05 Python
Python version 2.7 required, which was not found in the registry
2014/08/26 Python
python实现最长公共子序列
2018/05/22 Python
Python实现的knn算法示例
2018/06/14 Python
Python利用lxml模块爬取豆瓣读书排行榜的方法与分析
2019/04/15 Python
python实现爬取百度图片的方法示例
2019/07/06 Python
基于python和flask实现http接口过程解析
2020/06/15 Python
python使用re模块爬取豆瓣Top250电影
2020/10/20 Python
Django如何继承AbstractUser扩展字段
2020/11/27 Python
CSS3颜色值RGBA与渐变色使用介绍
2020/03/06 HTML / CSS
理工科学生的自我评价
2013/12/15 职场文书
校园联欢晚会主持词
2014/03/17 职场文书
家长学校培训材料
2014/08/20 职场文书
2015年社区平安建设工作总结
2015/05/13 职场文书
如何用Navicat操作MySQL
2021/05/12 MySQL
MySQL 不等于的三种使用及区别
2021/06/03 MySQL
Python中的程序流程控制语句
2022/02/24 Python
Mysql中mvcc各场景理解应用
2022/08/05 MySQL