web前端
liyichao_
一个北漂青年
展开
-
ios端beforeunload事件不管用的问题
ios端beforeunload事件不管用的问题ios端beforeunload事件不管用的问题原先写的这种 window.addEventListener("beforeunload",()=>{ })改为下面的即可window.addEventListener("pagehide",()=>{})原创 2020-07-27 10:39:49 · 1365 阅读 · 1 评论 -
前端面试题整理—React篇
1、说一下ReactReact是Facebook 开发的前端JavaScript库V层:react并不是完整的MVC框架,而是MVC中的C层虚拟DOM:react引入虚拟DOM,每当数据变化通过reactdiff运算,将上一次的虚拟DOM与本次渲染的DOM进行对比,仅仅只渲染更新的,有效减少了DOM操作JSX语法:js+xml,是js的语法扩展,编译后转换成普通的js对象组件化思想:将具...原创 2020-04-08 18:24:50 · 1181 阅读 · 0 评论 -
前端面试题整理—Node篇
1、node有哪些特征,与其他服务器端对比特征:单线程、事件驱动、非阻塞I/Onode 无法直接渲染静态页面,提供静态服务node 没有根目录的概念node 必须通过路由程序指定文件才能渲染文件node 比其他服务端性能更好,速度更快2、CommonJS中require/exports和ES6中import/export区别CommonJS模块的重要特性是加载时执行,及脚本代码在re...原创 2020-04-08 18:20:09 · 17405 阅读 · 0 评论 -
前端微信与支付宝支付
aliPay(res) { const form = res.data.payCallUrl; const div = document.createElement('div'); div.id = 'alipay'; div.innerHTML = form; documen...原创 2020-04-01 14:46:48 · 467 阅读 · 0 评论 -
支付宝H5支付继续埋坑
先描述一下BUG是啥,这个BUG在部分老机型上会出现首先调起支付到这个页面,然后点击X关闭会到下图的页面,然后点击这个三键返回然后改变一下传入的金额,按照以前文章写得那种方法再次调取,会发现支付宝扣款不对这个BUG主要是因为点击返回的时候,上一次生成的支付宝form表单插入页面后没有去掉,导致页面上会生成两个,然后提交的时候错误我的解决方法就是加了个if判断,如果有这个alipay的...原创 2020-04-01 14:29:44 · 904 阅读 · 0 评论 -
微信支付爬坑指南
在我们调通支付的时候,微信支付返回一个Url 然后我们直接location.href跳转即可调起微信支付,但是突然出现了下面的状况文档上说的是referer为空或者不能直接访问首先我们没有正常访问,先排除这个剩下来的就是referer为空的解决方法了,查了好多资料,发现好像是因为HTTPS跳http链接由于安全问题,会把referer不允许访问,从而微信获取不到,导致报错试了下 下面...原创 2020-04-01 14:25:33 · 7253 阅读 · 0 评论 -
微信jsapi支付对接
微信jsapi对接首先需要获取code传给后台以获取用户的openid刚进入页面需要判断是否是在微信app内部打开你页面的连接var is_weixin = (function(){return navigator.userAgent.toLowerCase().indexOf('micromessenger') !== -1})();当页面加载完成(){ if(is_weixin){...原创 2020-04-01 14:23:30 · 1485 阅读 · 2 评论 -
vue将json数据导为excl
需要先下载npm包npm i xlsx项目内引入import xlsx from 'xlsx'exportAgreement() var filename = "待审核签约商户"+new Date().format("yyyy-MM-dd hh:mm:ss")+".xlsx"; //文件名称 var data = this.checkedList; // 数据格式为二维数...原创 2020-04-01 14:19:54 · 1146 阅读 · 0 评论 -
axios下载zip压缩文件无法解压及excl乱码问题
js下载流文件应该很简单,百度一下一般都有代码,类似这样的我们是直接调取接口,返回blob数据,然后问题就来了 下载的excl打开是乱码, 下载的zip压缩文件无法解压经过漫长的调试之后,此处省略一万个字,发现原来是请求的时候忘记设置responseType 了 导致数据格式有误,加上去之后就好了,类似于这样...原创 2020-04-01 14:14:28 · 1331 阅读 · 0 评论 -
js浮点数计算函数(加减乘)
/** ** 加法函数,用来得到精确的加法结果 ** 说明:javascript的加法结果会有误差,在两个浮点数相加的时候会比较明显。这个函数返回较为精确的加法结果。 ** 调用:accAdd(arg1,arg2) ** 返回值:arg1加上arg2的精确结果 **/function accAdd(arg1, arg2) { var r1, r2, m, c; try { ...原创 2019-07-19 14:52:03 · 90519 阅读 · 0 评论 -
js操作改变原数组的解决方法
最近在开发的时候发现js中的for循环或者map方法都会改变原数组,下面是解决方法let a = ['a','b','c']let b = [[2, 0, 0],[0, 0, 0],[2, 2, 0],[1, 0, 0],[0, 1, 2]]//需求 将a b数组操作变成下面的样子// [// [['a', 0, 0],['a', 0, 0],['a', 2, 0],['a'...原创 2019-06-28 11:39:34 · 8095 阅读 · 3 评论 -
快速替换json数据里的key
需求是将b根据a的值替换对象中的key值let a = ["code","name","date","font"];let b = [{1:2,2:3,3:4},{1:2,2:3,3:4},{1:2,2:3,3:4}];//[{'code':2,'name':3,'date':4},{'code':2,'name':3,'date':4},{'code':2,'name':3,'date'...原创 2019-06-20 15:32:06 · 18247 阅读 · 1 评论 -
centos搭建node 前端环境
//开始 sudo yum install vim openssl build-essential libssl-dev wget curl git//下载nvmwget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash//指定node版本nvm install v8.9.3...原创 2019-06-14 17:23:50 · 18888 阅读 · 0 评论 -
微信多图片上传及循环请求思路
我遇到的数据结构是下面这样的,files可以理解为图片路径//需求是要按顺序把所有files上传var list = [{files:[1,2,3]},{files:[1,2,3,4]},{files:[]},{files:['a','b','s',4]}]function query1(a){ return new Promise((resolve,reject)=>{ ...原创 2019-06-13 18:16:24 · 20226 阅读 · 0 评论 -
ES6,ES7重点介绍
1. 字符串模板 <!--旧版拼接字符串-->var str = '我是时间:'+new Date();<!--新版拼接字符串-->let str = `我是时间${new Date()}`;2. 对象简写<!--旧版对象写法-->var name = "liming";var age = 20;var person = {name:na...原创 2019-05-14 11:23:15 · 21853 阅读 · 0 评论 -
一眼看懂promise与async await的区别
// promise方法 let p1 = new Promise((resolve,reject) => { setTimeout(() => { resolve('我是p1') },4000) }) let p2 = new Promise((resolve,reject) => { ...原创 2019-05-08 14:28:04 · 25533 阅读 · 2 评论 -
每天随便写点项目中遇到的细节问题(2)
由于textarea里不能插图片,所以我采用了div + contenteditable:true 的方法,这个方法却产生了个BUG ,就是placeholder 属性不能设置,因为div没有这个属性, 所以我搜索之后发现了一个方法,挺不错的#mess:empty:before{content: attr(placeholder);color:#999;}#me原创 2017-10-23 16:55:13 · 1798 阅读 · 0 评论 -
node.js做的一个简单爬虫,适合菜鸟级新手,针对无防爬措施的网站
一个爬虫的简单教程 用到的依赖 nodejs的request模块,获取目标页面的html代码; 使用cheerio模块对html代码做处理;用正则的话也不会拦你; 使用exprerss来起一个服务;话不多说,先上源码https://github.com/lyc-123/reptile具体实现安装依赖模块 $ npm init 初始化一个项目```npm install exp...原创 2017-12-22 15:15:05 · 3522 阅读 · 0 评论 -
DOM刷新的问题
dom刷新问题再探讨用js更新dom是web系统中经常出现的场景,但是有时候可能会遇到这样的情况,在更新dom之后还执行了一段运行时间可能比较长的js代码,这时你会发现,你更新的dom不会立刻在页面显现出来,而要等所有js都执行完之后才能出现。以最近支持的一个项目为例,点击页面一个按钮后执行一段复杂的计算逻辑,虽然现代浏览器执行js的效率比以往大大提升,但你要相信公司的业务总是存在着一转载 2017-12-25 16:10:55 · 7588 阅读 · 0 评论 -
vue-cli配置介绍
好多人只知道用vue-cli,却不知道脚手架的配置文件代表什么,现在就给大家介绍一下脚手架的相关配置.vue项目结构├── build --------------------------------- webpack相关配置文件 │ ├── build.js --------------------------webpack打包配置文件 │ ├── check-versions....原创 2018-04-19 11:29:09 · 489 阅读 · 0 评论 -
js异步加载的问题
js异步加载的问题本地测试无任何问题,但是放到服务器上开始报错,经检查是js加载出现了异步问题.当时采用的是动态加载js的方式,如下: function loadJsFile(strFileName) { var oHead = document.getElementsByTagName('HEAD').item(0); var oS...原创 2018-08-06 13:48:25 · 936 阅读 · 0 评论 -
eslint规则表
eslint规则表"no-alert": 0,//禁止使用alert confirm prompt"no-array-constructor": 2,//禁止使用数组构造器"no-bitwise": 0,//禁止使用按位运算符"no-caller": 1,//禁止使用arguments.caller或arguments.callee"原创 2018-08-23 09:56:36 · 354 阅读 · 0 评论 -
模仿终端打字效果
模仿终端打字效果…<script type="text/javascript"> var charIndex = -1;var stringLength = 0;var inputText;function writeContent(init){ if(init){ inputText = "Waiting...<br> Conn...原创 2018-10-22 17:05:28 · 296 阅读 · 0 评论 -
手把手教你用thinkjs (安装篇)
手把手教你用thinkjs (安装篇)thinkjs官网地址 https://thinkjs.org/转载请注明出处,谢谢快速入门环境搭建thinkjs是一款Node.js框架,底层基于Koa 2.x ,兼容Koa的所有功能,所以本地需要装node环境,为了可以使用更多的 ES6 特性,框架要求 Node.js 的版本至少是 6.x(nodejs环境搭建自行百度)安装步骤 ...原创 2018-11-02 14:28:48 · 2491 阅读 · 0 评论 -
十种常见的算法
https://www.cnblogs.com/onepixel/articles/7674659.html转载 2018-11-05 13:43:20 · 264 阅读 · 0 评论 -
thinkjs解决跨域(设置header头方法)
thinkjs解决跨域(设置header头方法)this.header("Access-Control-Allow-Origin", "*");将上面的代码在请求发送之前执行即可 如果不知道放在哪里 可以参照下面的图片...原创 2018-11-19 16:44:28 · 23232 阅读 · 0 评论 -
fullpage全屏滚动插件
fullpage全屏滚动插件fullpage官网原创 2019-03-04 11:27:03 · 153 阅读 · 0 评论 -
flex布局简单兼容性写法
/* 定义 */.flex-def { display: -webkit-box; /* 老版本语法: Safari, iOS, Android browser, older WebKit browsers. */ display: -moz-box; /* 老版本语法: Firefox (buggy) */ display: -ms-flexbox; /* 混合版本语法: IE 1...原创 2019-05-08 09:56:29 · 21275 阅读 · 0 评论 -
每天随便写点项目中遇到的细节问题(1)
1.element ui input输入框不能监听键盘enter事件2.做聊天时,输入框一般不推荐使用textarea 因为里面不能识别表情什么的, 建议用div 并添加上 contenteditable="true"属性,清空的时候用empty() 避免内存泄漏原创 2017-10-20 18:47:55 · 2001 阅读 · 0 评论