
前端知识
卡卡西不卡
突然的自我
展开
-
websocket和SSE通信示例(无需安装任何插件)
websocket和SSE通信示例(无需安装任何插件)原创 2023-12-11 16:19:04 · 794 阅读 · 0 评论 -
快速为项目创建readme.md文件
昨晚朋友给了一个翻墙软件,看了一晚上youtube,今天拿着电脑来公司上班,连上公司wifi,发现可以正常访问外网但是访问不了公司内网了,自己捣鼓半天也没整好。没办法,找了运维同学帮我看了下。他直接就问我是不是用过vpn什么的,说vpn会自动篡改一些设置,哈哈哈,果然有经验啊,他用电脑自带的管家,找到网络诊断,然后进行对应的网络修复就好了。一分钟没用到就搞定了。学到了呀!...原创 2021-07-21 11:01:06 · 853 阅读 · 0 评论 -
2021-06-15
process 对象是一个全局变量,提供了有关当前 Node.js 进程的信息并对其进行控制。 作为全局变量,它始终可供 Node.js 应用程序使用,无需使用 require()。它也可以使用 require() 显式地访问const process = require(‘process’)process.env 是 Node.js 中的一个环境对象即返回包含用户环境的对象。其中保存着系统的环境的变量信息。通俗来讲,该属性可以返回项目运行环境的信息。此对象的示例如下:{ TERM: 'xterm原创 2021-09-28 14:32:15 · 102 阅读 · 0 评论 -
一些琐碎但重要的js
null和undefined1.null是一个表示“空”的对象,转为数值时为0;undefined是一个表示"此处无定义"的原始值,转为数值时为NaN.2.null==undefined3.NaN表示“非数字”(Not a Number),主要出现在将字符串解析成数字出错的场合,它不是独立的数据类型,是一个特殊数值,它的数据类型属于Number。NaN不等于任何值,包括它本身。数组的indexOf方法内部使用的是严格相等运算符,所以indexOf方法对NaN不成立[NaN].indexOf(NaN)原创 2021-06-03 09:51:12 · 90 阅读 · 0 评论 -
选择本地视频上传至cos,上传cos前截取视频第一帧做视频封面
最近的需求是将原来上传cos的视频,在上传cos之前截取下视频的第一帧做封面(至于为啥不用cos里自带的截取封面功能,这个领导安排不纠结哈)。先简单说下这边上传cos的方式,前端通过调用后端同学的获取签名接口,拿到签名和上传文件所要存储的路径,然后将存储桶路径和存储路径和签名拼接在一起就形成了上传cos必须的鉴权url(也可以后端同学自己拼接好直接返回鉴权完整的url),代码如下:封装好的上传视频的子组件A页面 // 视频上传 async uploadcos(file) {原创 2021-05-25 15:47:08 · 2528 阅读 · 0 评论 -
elementui的动态表单的校验及动态的prop,required使用
需求及下图展示的那样,红框里是一组,通过点击右下角的添加按钮可以生成一组新的,除了第一组不能删除,后来添加的每组都可以删除,每组里面的上传视频和视频链接,二者至少有一个有值,红色星号标识为必填项。正常的填写逻辑应该如下图(注意视频的字段星号的变化)html代码实现:因为每组里面的每个输入框都是循环出来的,然后每一组又是动态生成的,又是一个大循环,涉及到循环嵌套,所以html部分如下:<el-form :model="editImgFrom" :rules="editRules" ref="原创 2021-04-14 17:33:52 · 6030 阅读 · 0 评论 -
使用a标签的href属性拨打电话在移动端安卓手机上的兼容问题
**Uncaught NotFoundError: Failed to execute 'insertBefore' on 'Node': The node before which the new node is to be inserted is not a child of this node**上面这个错误是因为v-if和jq的混乱使用导致的。 在利用fullpage.js写移动端的...原创 2020-12-07 14:47:05 · 2816 阅读 · 1 评论 -
ios键盘收起,页面不下落,架空bug
一 问题描述最近在做移动端兼容时,发现ios系统在输入内容时,页面被挤上去了,但输入完成后,键盘回弹了,页面没有回弹,还是停留在刚才输入时的位置。解决办法mounted(){ document.body.addEventListener('focusout',()=>{ window.scrollTo({top:0,left:0,behavior:"smooth"}) }) },亲测有效...原创 2020-12-07 11:34:54 · 482 阅读 · 0 评论 -
some()方法用于查找数组中是否存在某个元素
JavaScript some() 方法用来检测数组中是否存在符合指定条件的元素,存在就返回 true,不存在就返回 false。换个角度思考,some() 也可以用来检测数组中的所有元素是否都不符合指定条件,都不符合的话就返回 false,有一个或者多个符合的话就返回 true。查找数组中是否存在某个元素,如果存在就返回它在数组中的索引,如果不存在另做处理的示例var pos;//存储索引的变量var flag = arr.some((item,index)=>{ if(item === '原创 2020-05-27 00:41:56 · 2101 阅读 · 2 评论 -
单选,多选,可不选的问卷调查demo
简单粗暴直接上代码了,尽情享用吧<div class="moudle-row" v-for="(item,index) in questionList" :key="index"> <!--单选--> <div v-if="item.choicetype==1"> <h3 class="ask">{{index+1}}.{{item.sub...原创 2019-11-22 11:47:13 · 572 阅读 · 0 评论 -
vue.js ios移动端软键盘收起后,页面内容留白不下滑
<input type="text" @blur="fixScroll" placeholder="请输入xxx"/>//methods中添加:fixScroll() { let u = navigator.userAgent; let isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端 ...原创 2019-11-22 11:50:35 · 698 阅读 · 0 评论 -
js数据取整,取余,保留小数,数据脱敏等的一些处理方式
一个经典的解决四舍五入问题后js保留两位小数的方法:1.四舍五入保留2位小数(若第二位小数为0,则保留一位小数)function keepTwoDecimal(num) { var result = parseFloat(num); if (isNaN(result)) { alert('传递参数错误,请检查!'); return false; } result = Math.ro...原创 2019-07-11 11:49:53 · 2357 阅读 · 0 评论 -
使用vue-cli封装一个可自定义的弹框组件
1.编写弹框样式的组件。2.弹框页面逻辑的处理。3.全局挂载到vue这个对象上,方便全局调用4.调用第一步编写名为confirm的页面,弹框的样式可在此页面自定义<template> <div class="modal" v-if="isShow"> <div class="main"> <p class="msg">{{tex...原创 2019-07-12 19:11:08 · 2823 阅读 · 0 评论 -
移动端可缩放,点击不同的折点改变页面对应的数据的折线图
全部代码var myChart1 = echarts.init(document.getElementById(name));var age=[];var year=[];//var xData=[];var data=[];for (var i = 0; i <vm.chartList.length; i++) { age.push(vm.chartList[i].ag...原创 2019-07-12 18:15:08 · 423 阅读 · 0 评论 -
flex布局均分空间且可自动换行
以三局平均分布的布局,中间间距为5像素。{margin: 0; padding: 0;}.col-3{width: calc(100%/3 - 5px); float: left; margin-right: calc(5px3 /2); background: #eee; color: #333; height: 100px; text-align: center; margin-bott...转载 2019-06-13 18:29:36 · 5343 阅读 · 0 评论 -
让bootstrap轮播图支持手滑效果的解决方案
因为最近开发的项目涉及到移动设备上的 HTML5 开发,其中需要实现轮播效果。然后最快捷的方式,你知道的(Bootstrap),然后原生的 Bootstrap 的 carousel.js 插件并没有支持手势。然后......自己想办法呗,再然后,就有下面3种解决方案 : jQuery Mobile (http://jquerymobile.com/downloa原创 2017-04-06 14:51:59 · 14396 阅读 · 2 评论 -
2017面试总结
唠叨:最近因为各种原因裸辞了,找了半个月工作了,第一周简历投过去像石沉大海一样,最近这一周才开始有面试邀约,去面了几个,都是一通笔试加hr的面试,没有来自技术人员的面试,整体自我感觉还是挺不错的,但是也都没有回音了(跑那么远又写了那么多,费了半天劲好歹告知个结果吧!!!)不知道怎么回事,前天甚至去霸面了,霸面前我也是针对性的去的一些公司,这些都是对我的简历获取联系方式之后就没音了的,我统计了几原创 2017-05-05 11:38:15 · 604 阅读 · 0 评论 -
仿微信朋友圈图片点击放大效果
这两天写了个小项目,其中用到了点击一组图片中的一张可以查看它的放大版,用手向左滑动能看到下一张的这组图片中的第二张的放大版。。。依次类推,单击放大版的图片实现关闭效果,对于js能力不太好的我只能找度娘,然后就发现了photoswiper.js,不得不说真的好用,下面我就简单说下用法。 首先,和使用其他插件一样找到必须的资源也就是css,js等必须的文件,然后引入它们,并且引入自己在项目中肯定会用到原创 2017-06-16 17:25:34 · 8877 阅读 · 3 评论 -
关于实现上传预览功能FileReader
前景:现在做的项目用到了文章编辑,编辑部分包含用户可以自行在文章中插入图片,广告,以及一些文字之类的,今天就单说说能让图片实现上传前的预览功能,对于这方面的插件其实有很多,但是相对复杂些,仅仅为了上传一个图片就引用一个插件也不太划算,于是我就在网上发现了一种超简单超好用的FileReader.使用方法:html:插图片js://插图片功能$("#inImg").clic原创 2017-06-05 18:19:58 · 1179 阅读 · 0 评论 -
vue学习总结(1)
var vm = new Vue({ el: "选择器", 挂载到页面的那个元素里,即确定vue的作用范围 外部可通过vm.$el访问,得到的是一个原生dom元素,可进行对应操作 a: '', //自定义属性 外部可通过vm.$options访问 data: { }, //实例属性都在这里面,外部通过实例名,即vm.$data调用 computed: { }, //计算属性,也是实例原创 2017-09-25 14:33:42 · 292 阅读 · 0 评论 -
vue.js生命周期的理解
每个 Vue 实例在被创建之前都要经过一系列的初始化过程。例如,实例需要配置数据观测(data observer)、编译模版、挂载实例到 DOM ,然后在数据变化时更新 DOM 。在这个过程中,实例也会调用一些 生命周期钩子 ,这就给我们提供了执行自定义逻辑的机会。例如,created 这个钩子在实例被创建之后被调用:<script> var vm = new Vue({原创 2017-09-25 14:56:17 · 1041 阅读 · 0 评论 -
记一次利用vue.js完成的h5与app的交互
记一次利用vue.js完成的h5与app的交互唠叨:最近接收一个用vue写的项目,对我来说甚是头大。不得不说这是对传统前端的一次大过滤,之前仗着html,css,js混饭吃的前端儿们,压力越来越大,我就是这样的一个例子。压力越大,只要不放弃,成长的也越快啊,所以,咬牙就咔咔开始干。需求:一个H5分享页面,要分享的页面上的东西是动态的,需要app在h5页面的url后面拼接参数(为防止渲染时出现乱码现象原创 2017-10-18 19:12:03 · 9968 阅读 · 0 评论 -
在项目中使用vue过滤器小结
强调内容好记性始终不如一个烂笔头,平时工作中遇到问题时总能得到博客和群友的帮助,也希望自己写的东西能帮助别人吧,原理性的东西我不太清楚,我就尽量将使用方式和场景描述清楚一些,如果,中间有什么不对的,希望大伙提出来,共同进步。 前景:是这样的,很多时候我们在项目中会需要从后台获取到时间这个字段,像带有评论的会有用户的评论时间,发表文章的会有发表文章的时间,虽然都是时间,但是有的时候需求不会完全统一。原创 2017-12-06 13:32:51 · 3326 阅读 · 0 评论 -
使用fullpage.js实现全屏滚动经验以及踩的坑
全屏滑动一般用在官方网站使用较多这种效果,有很多插件可以实现这种效果,像swiper,fullpage,iscroll等。鉴于fullpage没用过,所以就选择它进行尝试一下。 首先在网上搜索fullpage.js,会搜出一大堆相关博客,看了之后发现还是很简单的。html中的结构就是div id="fullpage"> div class="section">第一屏div>原创 2018-01-12 17:56:04 · 17732 阅读 · 0 评论 -
如何给自己的网站或页面添加Umeng友盟统计
1.在友盟官网注册友盟账号。 2.填写应用基本信息,获取AppKey. 3.点击”产品“-选择u-wab(网站统计)。 4.打开的页面 点击”立即使用“. 5.点击”添加网站“,填写相关信息,然后点击注册。 6.选择自己想在页面上展示的统计的标识,可以任意选择其中一种,把相关代码复制到自己页面上标签之上。 7.明天或者过几个小时之后再登陆友盟后台在你添加的站点上点击查看报表就能看到统计...原创 2018-05-22 14:16:02 · 3479 阅读 · 0 评论 -
3d变换导致z-index在safria浏览器上失效的问题
由于我们公司的编辑人员发现他们编辑的文章分享到微信浏览器之后,和我在页面顶部添加的固定定位的引导下载的导航条样式之间产生了冲突,他们编辑的一部分内容可以直接覆盖在我的导航条上,要知道我的导航条已经将层级设置到了9999了,所以肯定不是层级低的原因,经过在网上查询发现可能是覆盖我的导航条上的内容运用了css3 3d属性,后来验证发现,这个section确实存在一个tranform:translate...原创 2018-05-22 14:32:28 · 698 阅读 · 0 评论 -
npm ERR!无法安装任何包的解决办法
日志报错:1087 verbose stack Error: getaddrinfo ENOTFOUND xn--rvg xn--rvg:801087 verbose stack at errnoException (dns.js:27:10)1087 verbose stack at GetAddrInfoReqWrap.onlookup [as oncomplete...转载 2018-08-23 11:00:13 · 4298 阅读 · 3 评论 -
由patch请求方法引发的一些总结
patch方法用来更新局部资源,这句话我们该如何理解? 假设我们有一个UserInfo,里面有userId, userName, userGender等10个字段。可你的编辑功能因为需求,在某个特别的页面里只能修改userName,这时候的更新怎么做? 人们通常(为徒省事)把一个包含了修改后userName的完整userInfo对象传给后端,做完整更新。但仔细想想,这种做法感觉有点二,而且真心...原创 2018-08-21 18:07:19 · 23272 阅读 · 4 评论 -
js数组中的find、filter、forEach、map四个方法的详解和应用实例
数组中的find、filter、forEach、map四个语法很相近,为了方便记忆,真正的掌握它们的用法,所以就把它们总结在一起喽。find():返回通过测试的数组的第一个元素的值在第一次调用 callback 函数时会确定元素的索引范围,因此在 find 方法开始执行之后添加到数组的新元素将不会被 callback 函数访问到。如果数组中一个尚未被callback函数访问到的元素的值被cal...转载 2019-01-14 16:45:55 · 253 阅读 · 0 评论 -
前端性能优化
前言:关于前端性能优化的问题已经是老生常谈了,面试中也是经常被问到,当然每个人都能说出个几条,但是都是零零散散的,我对自己的总结以及网上查到的童鞋们的总结进行了一个整合,纯手打,就以它作为我的第一篇博客吧,希望自己能坚持写下去,坚持总结生活中的点点滴滴,也见证自己的成长吧。一,css优化;1.css写在头部,js写在尾部或者异步。2.避免图片和iframe等的空的src.3原创 2017-03-17 16:23:32 · 337 阅读 · 0 评论