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鼠标悬停特效具体方法
Jun 17 Javascript
Javascript动态引用CSS文件的2种方法介绍
Jun 06 Javascript
JS+CSS实现的经典tab选项卡效果代码
Sep 16 Javascript
Angular.js与Bootstrap相结合实现表格分页代码
Apr 12 Javascript
使用jquery.form.js实现图片上传的方法
May 05 Javascript
node.js插件nodeclipse安装图文教程
Oct 19 Javascript
jQuery Dialog 取消右上角删除按钮事件
Sep 07 Javascript
JS实现表单验证功能(验证手机号是否存在,验证码倒计时)
Oct 11 Javascript
JS实现多张图片预览同步上传功能
Jun 23 Javascript
ES6基础之字符串和函数的拓展详解
Aug 22 Javascript
JavaScript 类的封装操作示例详解
May 16 Javascript
如何使用gpu.js改善JavaScript的性能
Dec 01 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函数spl_autoload_register()用法和__autoload()介绍
2012/02/04 PHP
CodeIgniter中使用Smarty3基本配置
2015/06/29 PHP
php文件上传的两种实现方法
2016/04/04 PHP
php-fpm开启状态统计的方法详解
2017/06/23 PHP
jquery中html、val与text三者属性取值的联系与区别介绍
2013/12/29 Javascript
PHP+jQuery+Ajax实现多图片上传效果
2015/03/14 Javascript
require.js的用法详解
2015/10/20 Javascript
AngularJS中处理多个promise的方式
2016/02/02 Javascript
jQuery simpleModal插件的使用介绍
2016/08/30 Javascript
ReactNative页面跳转实例代码
2016/09/27 Javascript
js 实现一些跨浏览器的事件方法详解及实例
2016/10/27 Javascript
在使用JSON格式处理数据时应该注意的问题小结
2017/05/20 Javascript
Bootstrap Multiselect 常用组件实现代码
2017/07/09 Javascript
vue-cli配置文件——config篇
2018/01/04 Javascript
浅谈vuepress 踩坑记
2018/04/18 Javascript
JavaScript常见JSON操作实例分析
2018/08/08 Javascript
vue如何进行动画的封装
2018/09/26 Javascript
JS实现滑动导航效果
2020/01/14 Javascript
JavaScript图像放大镜效果实现方法详解
2020/06/28 Javascript
python3实现域名查询和whois查询功能
2018/06/21 Python
python实现比较文件内容异同
2018/06/22 Python
详解python 注释、变量、类型
2018/08/10 Python
python机器人运动范围问题的解答
2019/04/29 Python
django自带调试服务器的使用详解
2019/08/29 Python
python实现的汉诺塔算法示例
2019/10/23 Python
Vita Fede官网:在意大利手工制作,在纽约市设计
2019/10/25 全球购物
电气工程和自动化自荐信范文
2013/12/25 职场文书
个人课题方案
2014/05/08 职场文书
2015年员工工作总结范文
2015/04/08 职场文书
文艺节目主持词
2015/07/06 职场文书
校运会广播稿
2015/08/19 职场文书
初中思想品德教学反思
2016/02/24 职场文书
心得体会该怎么写呢?
2019/06/27 职场文书
Nginx实现负载均衡的项目实践
2022/03/18 Servers
Win10 heic文件怎么打开 ? Win10 heic文件打开教程
2022/04/06 数码科技
JavaWeb Servlet开发注册页面实例
2022/04/11 Java/Android