自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(135)
  • 收藏
  • 关注

转载 vue router history模式开发ngnix配置

一、前沿 现在很多用vue-router开发页面的时候,都习惯使用hash路由莫模式,如:https://xxxx/#/index/share?code=dsfsd。这种模式在做pc端开发时候挺好用的。但是在app或者在微信开发的时候,#后面的内容容易被服务忽略,或者在微信授权和自定义分享的时候都会出现不同的状况,更重要的是,hash模式下,域名容易被封掉。 ...

2018-08-29 11:37:00 240

转载 UUID

一、百度百科《UUID》二、作用  UUID 的目的是让分布式系统中的所有元素,都能有唯一的辨识资讯,而不需要透过中央控制端来做辨识资讯的指定。如此一来,每个人都可以建立不与其它人冲突的 UUID。在这样的情况下,就不需考虑数据库建立时的名称重复问题。目前最广泛应用的 UUID,即是微软的 Microsoft's Globally Unique Identifiers (GU...

2018-07-16 15:43:00 204

转载 《试用》--项目总结

一、前言  临时来了一个需求,做一个试用(只支持微信打开)的项目。就是我们提供为商家提供一个试用的平台,商家把淘宝上卖的商品放到我们的平台免费给用户试用,用户可以在我们商城去寻找的合适的产品进行申请试用,按照任务流程申请,获得领取资格后, 去指定平台完成下单购买,待完成收货确定评价等任务之后,平台将会将你垫付的资金返还。二、项目概述1、该项目基于微信公众号中h5单页面...

2018-06-24 00:58:00 310

转载 微信自定义分享消息和遇到的一个问题

一、前言  微信自定义分享是一个很常见的功能,主要是利用微信JS-SDK实现自定义的分享效果。  通过使用微信JS-SDK,网页开发者可借助微信高效地使用拍照、选图、语音、位置等手机系统的能力,同时可以直接使用微信分享、扫一扫等微信特有的能力,为微信用户提供更优质的网页体验。  官方文档写的很详细。这里主要总结一下自定义分享的过程。二、前期准备1、微信服务号一个,最好...

2018-06-22 13:50:00 131

转载 xhr.withCredentials发送跨域请求凭证

一、前言 今天遇到一个坑,浏览器请求数据的时候gg了。浏览器报错如下图:因为请求头部设置了credentis mode is 'include', 从上面可以看出是Access-Control-Allow-Credentials这个响应必须设置为true。二、思考第一反应前端没有设置过这个值啊?应该走默认才对吧?测试环境OK啊!---------------...

2018-06-17 00:37:00 1057

转载 跨域请求中预检请求options之坑

一、前言因为跨域请求,浏览器可能(后面讲)会发送一次options请求,如果处理不好,跨域还是会gg的。之前很少涉及跨域,涉及也是简单请求(下面阮老师文章中区别热简单请求和复杂请求),所以基本不会很少关注options。后面就遇到坑了,下面讲讲注意点。二、说明直接讲CORS,这是一种解决跨域的处理方案,支持各种请求的跨域(jsonp只支持get请求)。它允许浏览器器向...

2018-06-06 23:28:00 2673

转载 rem布局原理深度理解(以及em/vw/vh)

一、前言  我们h5项目终端适配采用的是淘宝那套《Flexible实现手淘H5页面的终端适配》方案。主要原理是rem布局。最近和别人谈弹性布局原理,发现虽然已经使用了那套方案很久,但是自己对rem的理解很含糊, 包括vw、vh等。所以打算写博客总结一下,以加深理解。二、几个概念  这里就不讲那些,物理像素、设备像素比了,可以自己查阅。要去理解rem/em/vm/vh等,首先要...

2018-05-19 11:01:00 367

转载 wepack---预打包dll

一、前言  今天被问到,怎么实现webpack快速打包?话说距离上次手动配置webpack已经过去很长时间了,现在webpack都出到4.0版本了,号称零配置,还没来得及好好感受一下。  ‘不就是公共模块打包吗?比如第三方库打包?可以用dll进行预打包!’ ‘具体怎么做呢?’ ‘等等等。。。。。let me see see...’ ...

2018-05-17 22:40:00 119

转载 从前端角度看ajax如何保护接口的安全性

一、前言  在web中,使用Ajax调用API,撇开跨域不讲,怎么做安全验证,防止别的网站调用呢?假设没有做安全保障,任何用户都可以直接访问接口,这回暴露出极大的安全隐患。二、后端怎么做?  1、一些接口强制用户必须登录,通过查看sessionId来做判别,没登录则不返回数据或者返回401或者403;  2、cookie校验+session;  3、通过判断refer...

2018-05-16 22:42:00 569

转载 关于wepack的使用总结以及优化探讨

一、前言  不知不觉,webpack版本已经到4.0了。使用它也有很长一段时间了,回头看看,自己木有总结webpack方面的知识,现在有空起个头,主要是总结自己常用的配置和一下优化的探讨,以后有啥想法也直接写到这里来。二、开始  webpack做啥的,怎么配置?和gulp、grunt等构件工具有什么区别?这些就跳过了,当初也是直接看官方文档的,摸爬滚打走过来的。可以参考:...

2018-05-11 15:09:00 125

转载 postcss

一、简介   PostCSS 本身是一个功能比较单一的工具。它提供了一种方式用 JavaScript 代码来处理 CSS。它负责把 CSS 代码解析成抽象语法树结构(Abstract Syntax Tree,AST),再交由插件来进行处理。插件基于 CSS 代码的 AST 所能进行的操作是多种多样的,比如可以支持变量和混入(mixin),增加浏览器相关的声明前缀,或是把使用将来的 C...

2018-05-11 11:41:00 81

转载 Vue源码之 virtual-dom 实现简析

发现两篇写得特别好的博文,仔细通读,发现豁然开朗。浅析Vue 中的patch和diffVue 2.0 的 virtual-dom 实现简析转载于:https://www.cnblogs.com/leaf930814/p/9023542.html...

2018-05-11 11:09:00 101

转载 vue源码之抽象dom树

一、抽象DOM树  使用过vue的朋友应该都知道,vue使用的是虚拟DOM,将DOM抽象成一个以JavaScript对象为节点的虚拟DOM树,以VNode节点模拟真实DOM,可以对这颗抽象树进行创建节点、删除节点以及修改节点等操作,在这过程中都不需要操作真实DOM,只需要操作JavaScript对象后只对差异修改。修改以后经过diff算法得出一些需要修改的最小单位,再将这些小单位的视...

2018-05-10 19:06:00 141

转载 js设计模式之发布/订阅模式模式

一、前言  发布订阅模式,基于一个主题/事件通道,希望接收通知的对象(称为subscriber)通过自定义事件订阅主题,被激活事件的对象(称为publisher)通过发布主题事件的方式被通知。  就和用户订阅微信公众号道理一样,一个公众号可以被多个用户同时订阅,当公众号有新增内容时候,只要发布就好了,用户就能接收到最新的内容。  js中的事件监听机制就是一种观察者模式。二...

2018-05-09 14:53:00 263

转载 vue的项目优化---回顾

陆陆续续也用vue开发或重构了不少项目,在这期间遇到不少的坑,也尝试过优化。在此记录一下,想到一点算一点吧:一、尽可能的减少watcher的数量  当监听数据是一个对象的时候,最好具体到监听对象的属性;二、渲染  1、可以用懒加载、分页、滚动加载或者tab方式去展示其他内容,减少每次渲染的数量;  2、结合v-if,异步显示dom结构,减少不必要组件的加载;...

2018-05-08 22:35:00 102

转载 回头再看看babel的实现原理

一、前言  babel在大家的工作中应该没少用,但是为什么它能将ES6转成ES5呢?一个有态度的前端er肯定会想抛开迷雾,看看其中的奥秘。  记得很早前自己有去了解过相关方面的内容,但是时间久远,现在已是很模糊了。在此写点笔记回顾一下。二、运行原理  抽象语法树(AST)    抽象语法树(abstract syntax tree或者缩写为AST),或者语法树(...

2018-05-08 16:47:00 117

转载 JavaScript 内存泄露以及如何处理

一、前言  一直有打算总结一下JS内存泄露的方面的知识的想法,但是总是懒得提笔。  富兰克林曾经说过:懒惰,像生鏽一样,比操劳更能消耗身体,经常用的钥匙总是亮闪闪的。安利一下,先起个头。二、内存声明周期  1、分配内存— 内存是被操作系统分配,这允许程序使用它。在低级语言中(例如C),这是一个作为开发者需要处理的显式操作。在高级语言中,然而,这些操作都代替开发者进行了处理...

2018-05-07 10:56:00 120

转载 RSA实现前端数据加密

一、前言   一般在登录注册的时候,不能以明文的方式传递数据到后台,如果是http下,很容易被劫持。所以对数据进行加密是常规做法。二、RSA算法  ”RSA加密算法是一种非对称加密算法。对极大整数做因数分解的难度决定了RSA算法的可靠性。换言之,对一极大整数做因数分解愈困难,RSA算法愈可靠。假如有人找到一种快速因数分解的算法的话,那么用RSA加密的信息的可靠性就肯定会极度下...

2018-05-06 23:31:00 297

转载 跨站点请求伪造(CSRF)

一、前言  跨站点请求伪造(Cross-SiteRequest Forgeries, CSRF),是指攻击者通过设置好的陷阱,强制对已完成认证的用户进行非预期的个人信息或设定信息等某些状态更新,属于被动攻击;有如下危害:  1、利用已通过认证的用户权限更新设定信息;  2、利用已通过认证的用户权限购买商品,虚拟货币转账;  3、利用已通过认证的用户权限在留言板发表言论;...

2018-05-06 23:06:00 112

转载 布局中的BFC---重点是前言

一、前言  说实话,听到BFC这个概念我心里一阵咯噔,这到底是什么?有种似曾相识的感觉,但是又很模糊。问了一下度娘,看到张鑫旭的《CSS深入理解流体特性和BFC特性下多栏自适应布局》。呀,原来是这东东啊。BFC应该是前端的基础知识,也许很多前端er工作中经常用到,但是未必真的归纳总结过(自己躺枪),反正能完成工作就好了,没必要非得脑海中有BFC这概念。不过我觉得,知识掌握一定的知识之...

2018-05-06 18:37:00 100

转载 反爬虫的前端思路

一、前言  一些网站的敏感数据(如商品价格)是不希望被爬虫抓取。所以在不影响seo的情况下,一般采取什么策略呢,前端又可以做些什么呢?二、常见爬虫策略  反爬虫不是阻止爬虫抓取数据,这是不现实的,所以可以在数据上做手脚。一般如果希望页面能在用户面前正常展示,就必须要做到识别真人与机器人。因此工程师们做了各种尝试,这些策略大多采用于后端。比如:  1、User-Agent ...

2018-05-04 21:20:00 1528

转载 cookie安全隐患及防篡改机制

Cookie和Session是为了在无状态的HTTP协议之上维护会话状态,使得服务器可以知道当前是和哪个客户在打交道。本文来详细讨论Cookie和Session的实现机制,以及其中涉及的安全问题。因为HTTP协议是无状态的,即每次用户请求到达服务器时,HTTP服务器并不知道这个用户是谁、是否登录过等。现在的服务器之所以知道我们是否已经登录,是因为服务器在登录时设置了浏览器的Cooki...

2018-05-03 15:19:00 353

转载 网站重定向中301与302

一、区别  301永久重定向,301会把原网页权重转移到重定向目标的网站上面。搜索引擎在抓取新内容的同时也将旧的网址替换为重定向之后的网址。主要是用于在域名的更改或者不带www的域名定向到带www的域名上。  302临时重定向。搜索引擎会抓取新的内容而保留旧的网址,因为服务器返回302代码,搜索引擎认为新的网址只是暂时的。302重定向被搜索引擎认为是一种作弊方式,站内过多的302...

2018-05-03 14:52:00 174

转载 提高网站访问速度缩短网页加载时间的一点总结

一、前言怎样最大程度提高网站访问速度缩短网页加载时间,这是一个前端er工作中应该时常注意的问题。下面是总结日常开发中常用的办法。二、各种方法1、减少http请求  雪碧图 图片文字font-awsome  Inline image(base64)  合并请求,非继承的请求可以并发请求如:promise.all()2、css格式定义放置在文件头部...

2018-05-03 11:05:00 206

转载 本地开启https的nginx配置

下载证书和key放置在nginx配置文件同级目录下,然后添加配置内容,监听443端口,如果本地443端口被占用,可以使用其他端口测试。server { listen 443; server_name www.domain.com; #填写绑定证书的域名 ssl on; ssl_certificate 1_www.domain.com_bun...

2018-05-03 10:19:00 131

转载 Hybrid混合式开发---回顾

一、前言  去年12月份开启了一个新项目--在线抓娃娃,就是让用户可以通过app去控制我们机房中的娃娃机来抓取娃娃。本项目开发半个月就紧急上线第一版本,中间经过2次大版本迭代,一个月不到就做到用户量超过10w+,后面也算做到了市场中的前三。这个项目也算是某个点间的红利,当我们决定做这个之前,市面上只有一两家产品,一个月之后,市面上就疯狂的出现了50多家,到如今应该有超过300多家了。...

2018-05-02 15:27:00 125

转载 highcharts绘制股票k线

借助highcharts绘制股票k线:后台通过websocket没个一定时间下发最新数据,然后重新绘制k线;开发文档:https://api.highcharts.com/highcharts/https://www.hcharts.cn/docs转载于:https://www.cnblogs.com/leaf930814/p/8979252.html...

2018-05-02 14:06:00 942

转载 利用meta标签将http请求换成https请求

最近网站升级为https之后,为了防止一些http文件没有修改而引起的问题,可以加一个meta标签:<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">说明:有一定兼容性问题。转载于:https://www.cnblogs.com/leaf930814...

2018-04-27 12:02:00 532

转载 svg和css实现波浪动效

效果:截图有点模糊~实现:《svg教程》//html<body> <svg class="wave-container" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 24 150 28" preserve...

2018-03-26 12:14:00 295

转载 从菲波那切数列看尾部调用优化

1、菲波那切数列  在数学上,斐波那契数列以如下被以递归的方法定义:F0=0,F1=1,Fn=Fn-1+Fn-2(n>=2,n∈N*),用文字来说,就是斐波那契数列列由 0 和 1 开始,之后的斐波那契数列系数就由之前的两数相加。形如:0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233……  数学上的计算公式是...

2018-03-25 14:21:00 168

转载 PWA初体验

一、前言  现在市面上的Native APP成千上万个,各种应用商店里面的APP琳琅满目。原生的APP下载到手机上之后,用户就可以获取一个方便的入口,体验上也十分顺畅。但是再好的事物难免有点缺点:1、开发成本高,一般同时安卓和ios两个版本;2、版本迭代、打包、上传、过审这一些的步骤拉长了开发周期,有时候还有面临别被下架的风险;3、不利于SEO;  相对于原生APP...

2018-03-20 23:55:00 471

转载 web性能优化之--合理使用http缓存和localStorage做资源缓存

一、前言 开始先扯点别的:  估计很多前端er的同学应该遇到过:在旧项目中添加新的功能模块、或者修改一些静态文件时候,当代码部署到线上之后,需求方验收OK,此时你送了一口气,当你准备开始得意于自己的masterpiece时候,突然需求方跑来和你说,很多用户反应还是没有看到新的效果,或者某个图片还是旧的。。。。what? 估计你第一反应就是,肯定是可恶的缓存搞的鬼。我遇...

2018-03-12 00:12:00 446

转载 web性能优化之---JavaScript中的无阻塞加载性能优化方案

一、js阻塞特性  JS 有个很无语的阻塞特性,就是当浏览器在执行JS 代码时,不能同时做其他任何事情,无论其代码是内嵌的还是外部的。即<script>每次出现都会让页面等待脚本的解析和执行(不论JS是内嵌的还是外链的),JS代码执行完成后,才继续渲染页面。二、优化方案1、尽管脚本的下载过程并不会相互影响,但页面仍然必须等待所有JS下载并执行完成才能继续。...

2018-03-11 23:31:00 121

转载 html5shiv

说明:1、越来越多的站点开始使用HTML5标签。但是目前的情况是还有很多人在使用IE6,IE7,IE8。2 、而IE6,IE7,IE8是不能识别html5标签的。3 、这里提供一种让IE浏览器支持html5的方法,那就是使用html5shiv。4 、html5shiv主要解决HTML5提出的新的元素不被IE6-8识别。<!--[if lt IE 9]> ...

2018-03-09 11:26:00 71

转载 event工具集

eventTool = { // 页面加载完成后 readyEvent : function(fn) { if (fn==null) { fn=document; } var oldonload = window.onload; ...

2018-03-09 11:06:00 142

转载 npm ERR! Windows_NT 10.0.10586

安装vue脚手架时候一直失败,如图:npm cache clean管理员下安装:快捷键 win +x , 按A进入;  转载于:https://www.cnblogs.com/leaf930814/p/8524490.html...

2018-03-07 18:13:00 371

转载 快速排序和二分查找

一、二分查找和普通查找的优缺点普通查找:原理简单,不需要数组有序;当元素个数很大时候,效率较低;二分查找,需要数组有序排列,但是查找效率高;二、二分查找实现//查找指定元素在循序数组中的索引function binary_search(arr,key){ var low=0, high=arr.length-1; while(low<...

2018-03-06 14:12:00 130

转载 关于ES7中的async/await在客户端和服务端上的实践

一、前言在项目中经常遇到处理异步请求的情况,面对层层的嵌套,回调显示那么苍白无力;async / await是ES7的重要特性之一,也是目前社区里公认的优秀异步解决方案,既然这样就用上吧。二、配置编译网上实践很多。。。反倒是Promise在实践过程中加了一个polyfill。三、实践await后方法要写成peomise的形式,转成异步形式。大概如下,...

2018-03-03 17:59:00 143

转载 禁止长按微信页面出现默认选择弹框

长按微信中打开的h5页面默认会有弹框,如图:如果我们不想出现这个,可以加:document.oncontextmenu=function(e){ e.preventDefault();}  oncontextmenu 事件在元素中用户右击鼠标时触发并打开上下文菜单。转载于:https://www.cnblogs.com/leaf930814/p/...

2018-03-03 17:32:00 651

转载 离线合成联想到的--canvas合成水印

前段时间做了功能模块:用户设置自定义勋章;实现方式:前端把用户设置的昵称传到后台,后台根据不同用户等级,使用离线合成技术合成不同的勋章返回到前端;方案算是实现了,但是有点坑就是,后台的离线合成没有每次百分之百成功,且生成的图片模糊,现在暂不说这个;在实现上述功能模块的时候联想到之前有用canvas对图片添加水印的demo,不禁翻出来看一看,也算是回顾一下知识吧。效果:...

2018-03-03 17:11:00 95

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除