![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
js相关
想想就很棒
这个作者很懒,什么都没留下…
展开
-
节流函数
节流函数就是在单位时间(10s)内随便触发多少次,只要过了单位时间(10s)就会执行一次。应用场景是:用户在输入框内疯狂输入字符串,每经过单位时间就会向后端发起请求查询数据库。节流函数有两种实现方式:1.定时器 2.计算时间差时间差实现function throttle(fn, delay) { let previous = 0; // 使用闭包返回一个函数并且用到闭包函数外面的变量previous return function() { let args = argume原创 2021-04-09 18:23:14 · 8980 阅读 · 0 评论 -
vue3 生产环境去掉console.log
在开发项目时,为了便于调试,我们一般会输出很多console.log,但是在生产环境中我们是要去掉这些的.但是如果手动删除,就有点麻烦了,而且如果以后再开发调试的时候,还得重写再写console.log不过好在webpack提供了删除console.log的插件,在vue3里面是这样用的:首先安装terser-webpack-pluginnpm install terser-webpa...原创 2020-04-17 14:24:57 · 2219 阅读 · 0 评论 -
FreeMarker生成H5模板数字带有逗号
项目描述:这是有服务端生成的一个H5模板,支持跳转.后端返回的数据格式如下:[{matchId:‘10001’,roomId:20001,name:‘哈哈哈’,}]然后FreeMarker的H5模板里面,代码如下<#list lists as list> <div class="box" roomId="${list.roomId}" matchId=...原创 2020-03-19 17:01:32 · 629 阅读 · 2 评论 -
App内嵌H5活动页面携带用户token
此文章仅记录自己在app端做的一个活动所遇到的各种问题, 帮助大家避免入坑.背景:后端使用framemark动态生成html模板.我写好的以ftl为后缀名结尾的framemark文件给后台,后台打成jar包,并集合后端自己的代码部署.需求:app端通过banner页面进入到投票活动页面(这个活动页面是H5页面),H5页面需要拿到用户的token.并可以进行投票活动.问题1:通过postm...原创 2020-01-08 17:58:10 · 4564 阅读 · 0 评论 -
移动端登录后,携带token请求其他页面接口提示token验证失败
最近做移动端的h5,登录之后携带token跳到列表页面,请求列表接口,但是后端却一直报错,提示token校验失败.最后发现后端接到的sessionId和token不一致导致的,查看资料经过无数奋战才知道,原来是跨域要想带上cookie.必须在ajax请求里加上xhrFields:{withCredentials:true},crossDomain:true....原创 2019-10-27 10:23:49 · 2474 阅读 · 0 评论 -
babel-plugin-import 插件的使用
babel-plugin-import是一款babel插件,在编译过程中将import的写法自动转换成按需引入的方式.今天在使用react 的组件库ant-ui时候,想要引入babel-plugin-import插件实现按需加载,按照官网教程发现样式怎么都引入不进去.记录一下自己的过程.安装插件npm install babel-plugin-import --save-devant-...原创 2019-08-23 16:22:41 · 15994 阅读 · 1 评论 -
对象类型数组 自定义排序
我们可以对任何对象类型的数组排序,比如,对象Person有名字和年龄属性,我们希望根据年龄排序,那么我们可以这么写:const friends=[ {name:'john',age:30}, {name:"lily",age:20}, {name:"merry",age:24},];function comparePerson(property){ return function(a...原创 2019-07-20 14:37:08 · 623 阅读 · 1 评论 -
Echarts 图表大小自适应浏览器窗口缩放
最近使用element-ui做的后台管理要求嵌入图表功能,其实element-ui嵌入图表很简单,但是问题来了.开发场景是:页面上有多个图表,当我调整浏览器窗口大小的时候,发现图表并不会根据浏览器窗口大小而进行调整,这完全不符合我们的要求,也是作为一个合格的开发人员不能容忍的.我的页面内有两个echarts图表,下面是我的解决方案:(vue 代码)//data 里面定义的两个图表data:...原创 2019-07-09 09:38:01 · 8107 阅读 · 0 评论 -
element-ui upload 多文件单接口上传
最近在使用element-ui upload 上传多个文件的时候发现element-ui的批量上传是每个文件都请求一次接口,但是我们项目的需求是多个文件只请求一次接口.细思良久,经过一番奋战,终于实现了这个需求.下面直接上代码//element 组件<el-upload action="" class="upload-demo" :on-change="change" ...原创 2019-06-27 17:05:47 · 6859 阅读 · 10 评论 -
FingerprintJS 浏览器端实现指纹识别
FingerPrint 即我们常说的指纹识别,使用手指和拇指前端的纹理按下的纹印来鉴定身份。指纹是鉴别身份的一种可靠的方法,因为每个人的每个指头上的纹理排列各不相同而且不因发育或年龄而改变。FingerprintJS是一个快速的浏览器指纹库,纯javascript实现,没有依赖关系.默认情况下,使用Murmur Hash算法返回一个32位整数,Hash函数可以很容易更换.Fingerprint...原创 2018-12-24 16:37:08 · 10263 阅读 · 0 评论 -
安卓和ios微信浏览器播放视频 自动全屏
最近在做小视频分享活动,发现分享到微信浏览器的小视频在播放时候会自动全屏.经过一番查找和测试,现在找到了解决方案,代码如下:<video class="video-js vjs-big-play-centered" id="myvideo" controls preload="auto" height="100%" width="100%" playsinline webkit-play..原创 2018-12-29 14:21:17 · 1324 阅读 · 1 评论 -
解决ios的webview中上/下拉露出黑灰色背景问题
解决ios的webview中上/下拉露出黑灰色背景问题问题描述:手机H5页面在ios的webview中,下拉(或上拉)会露出黑灰色背景 ,感觉很不好看,现在想要去掉这个背景解决方法:1.touchmove时阻止系统默认的滑动事件document.querySelector('body).addEventListener('touchmove',function(e){ e.prevent...原创 2018-09-22 10:50:39 · 3296 阅读 · 0 评论 -
input 不能多次上传同一张图片
在使用input[type=’file’]想要上传图片时候,发现第二次如果选择同一张图片,就会无法触发change事件,那么如何解决这个问题呢? 我使用的方法就是在图片上传成功之后,把input的value置为空即可.$('input[type="file"]').val(""); 虽然上传同一张图片的问题解决了,但是又出现了新问题. 第一次点击会触发一次change事件,第二次点...原创 2018-08-23 16:36:08 · 2860 阅读 · 0 评论 -
ios 上 new Date() 出现NaN的问题
这个问题我一定要记录一下,悼念一下我为了解决这个bug花费了两天时间,也为其他小伙伴可以顺利避免这个bug而写. 在我拿到后台的数据之后,根据需求,我需要给对象添加一下自定义的属性.按照vue文档使用this.$set()方法添加,在pc上一点问题都没有,这个字段可以展示出来,但在手机端这个字段就展示不出来了,初步怀疑是这个字段在手机上没有添加进去.但是vue挂网这个添加属性的方法应该是没有错的...原创 2018-08-20 16:05:09 · 2021 阅读 · 0 评论 -
在外面想要访问$(function(){})里面的方法
一般我们都会在`$(function(){})` 里面定义一些方法和变量,但是很多时候我们想要在外面去访问这里面的方法和变量,却访问不到,提示方法或者变量未定义,下面我给大家分享两种解决办法. - 第一种是使用jquery.extend的扩展方法 - 第二中是使用函数表达式,并且使之提升为全局函数先上代码“`*html代码* Trigger fun1 Trig...原创 2018-08-02 12:03:59 · 8299 阅读 · 2 评论 -
iphone6 10.0以下的系统不支持input file怎么办
一开始使用h5做图片上传,发现只有ios11及以上的系统(即ipone7以后的手机)才可以实现input[type=’file’]这个方法,为了兼容ios10及以下的系统,最后没办法只得使用原生ios上传图片. 原生ios app和h5 进行交互,和ios端定义了方法,clickVideoButton,ios拦截到这个方法,会调用原生ios的上传, 图片上传之后会得到一个图片的url,现在需要把...原创 2018-08-02 10:17:09 · 3842 阅读 · 0 评论 -
sweetalert 确认弹窗不显示
项目要求在用户删除数据时候要求提示用户:是否确认删除这么一个提示框.但是alert原生的弹窗太丑了,幸好找到了sweetAlert这个插件 插件地址是http://mishengqiang.com/sweetalert2/ 现在记录一下我在使用这个插件遇到的问题,首先是我页面引用的是sweetalert2.js的js脚本文件,但是在使用删除提示的时候没注意使用了sweetalert1官方文档的...原创 2018-08-01 16:38:57 · 4732 阅读 · 2 评论 -
vue 使用axios发送的请求使用md5加密
之前使用axios发送请求都是直接发送,没有加入任何加密方式,但是这种情况其实是不安全的,最近项目要求使用md5进行加密。在项目根目录下面安装md5 npm install --save js-md52 .在main.js里面引入md5 import md5 from 'js-md5';Vue.prototype.$md5 = md53.直接在要使用的地方写入 m...原创 2018-05-09 12:00:36 · 4786 阅读 · 0 评论