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 BASE64编码 window.atob(), window.btoa()
Mar 09 Javascript
JavaScript 大数据相加的问题
Aug 03 Javascript
正则表达式搭配js轻松处理json文本方便而老古
Feb 17 Javascript
escape函数解决js中ajax传递中文出现乱码问题
Oct 30 Javascript
JavaScript的事件代理和委托实例分析
Mar 25 Javascript
jQuery插件HighCharts实现的2D条状图效果示例【附demo源码下载】
Mar 15 Javascript
JavaScript实现实时更新系统时间的实例代码
Apr 04 Javascript
JavaScript实现body内任意节点的自定义属性功能示例
Sep 18 Javascript
jquery学习笔记之无new构建详解
Dec 07 jQuery
基于vue 动态加载图片src的解决方法
Feb 05 Javascript
vue项目每30秒刷新1次接口的实现方法
Dec 04 Javascript
Vue发布订阅模式实现过程图解
Apr 30 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中取得image按钮传递的name值
2006/10/09 PHP
剖析 PHP 中的输出缓冲
2006/12/21 PHP
PHP缓存技术的多种方法小结
2012/08/14 PHP
php计算当前程序执行时间示例
2014/04/24 PHP
个人写的PHP验证码生成类分享
2014/08/21 PHP
jQuery 1.5.1 发布,全面支持IE9 修复大量bug
2011/02/26 Javascript
使用js显示当前时间示例
2014/03/02 Javascript
jQuery基于ajax实现星星评论代码
2015/08/07 Javascript
JS实现响应鼠标点击动画渐变弹出层效果代码
2016/03/25 Javascript
完美实现八种js焦点轮播图(下篇)
2020/04/20 Javascript
老生常谈Javascript中的原型和this指针
2016/10/09 Javascript
浅谈Node.js:fs文件系统模块
2016/12/08 Javascript
jquery横向纵向鼠标滚轮全屏切换
2017/02/27 Javascript
完美解决浏览器跨域的几种方法(汇总)
2017/05/08 Javascript
jQuery滚动插件scrollable.js用法分析
2017/05/25 jQuery
深入理解vue-loader如何使用
2017/06/06 Javascript
自定义vue全局组件use使用、vuex的使用详解
2017/06/14 Javascript
element-ui 上传图片后清空图片显示的实例
2018/09/04 Javascript
Node批量爬取头条视频并保存方法
2018/09/20 Javascript
node全局变量__dirname与__filename的区别
2019/01/14 Javascript
webpack优化之代码分割与公共代码提取详解
2019/11/22 Javascript
python迭代器的使用方法实例
2013/11/21 Python
Python中使用动态变量名的方法
2014/05/06 Python
pyqt5 键盘监听按下enter 就登陆的实例
2019/06/25 Python
Django models文件模型变更错误解决
2020/05/11 Python
Python应用自动化部署工具Fabric原理及使用解析
2020/11/30 Python
现代家居用品及礼品:LBC Modern
2018/06/24 全球购物
英国No.1体育用品零售商:SportsDirect.com
2019/10/16 全球购物
《月亮湾》教学反思
2014/04/14 职场文书
安全保证书格式
2015/02/28 职场文书
投诉信格式范文
2015/07/02 职场文书
企业转让协议书(范文2篇)
2019/08/15 职场文书
导游词之广东佛山(南风古灶)
2019/09/24 职场文书
React Hook用法示例详解(6个常见hook)
2021/04/28 Javascript
ROS系统将python包编译为可执行文件的简单步骤
2021/07/25 Python
第四次工业革命,打工人与机器人的竞争
2022/04/21 数码科技