- 博客(47)
- 资源 (1)
- 收藏
- 关注
原创 webpack中文件打包 hash、chunkhash、contenthash 的区别
spa-clicustom cli supply for vue or reactbranchmaster – basevue – base + vue configreact – base + react config
2020-08-21 17:53:16
3924
原创 Promise.all && Promise.race
Promise.all()当我们想“并发执行”若干个任务的时候,比如要加载网站的首页,期望是要等api请求结束拿到数据后,才展示完整的首页,我们很容易就想到了Promise.all。但是Promise.all有一个缺陷:当有一个任务失败的时候,就会直接进入catch的逻辑了。这个可能并不是我们想要的结果。我们期望每一个请求都被监测到都被返回,不能因为请求接口失败而阻塞页面数据渲染。Promise.all([]),执行规则是按异步耗时最长的Promise触发回调,回调结果也是一个数组,即Promi
2020-07-28 10:15:50
226
原创 html2canvas截图问题小结
传送门:html2canvas官网原理:首先html2canvas截图的原理是分析需要截图的dom元素部分,这部分需要截图的dom是需要显式存在整个页面的dom文档流中的,意思就是需要被截图的dom的样式不能是隐藏(opacity: 0 或 displa: none)。场景:移动端H5页面海报分享,页面海报显示和保存的海报需要不一样(如带上用户昵称等)?小结:既然显示的和保存的海报需要不一样,又需要生成的海报显示存在dom中,其实可以使用绝对定位,并调整一下截图区域的层叠关系z-in..
2020-05-19 16:58:40
839
原创 Antd table expandedRowRender 属性小结
最近在使用阿里的antd,用到了Table组件,在Table组件中使用expandedRowRender 这个属性的时候遇到了未知的坑,数据是有的,但是点击+没有任何反应,网上资料都是源数据中需要加上key字段,如果源数据无法提供key字段,在Table中需要提供rowKey属性<Table rowKey="uid" />;但是但是,我在拿到源数据的时候给数据再封装了一层,加上了k...
2018-11-02 15:30:48
20500
3
转载 redux初学入坑指南
入坑react和redux一段时间了,网上资料学习都很多,但是自己觉得还是下面这篇文章对初学redux会比较有帮助,官方给的例子不是特别容易读懂,反而会弄乱思路(个人看法而已。。)https://juejin.im/post/5b471a5de51d4519873f2c07...
2018-10-24 17:23:49
294
原创 window 下Charles抓包工具抓不到包,抓包请求数为0解决方法
Charles工具抓包请求数为0时,这是不正常的,因为在网络环境下,每时每刻都可能会有网络请求,这种情况一般是window 下使用了其他代理工具,如翻墙工具等,只要把其他代理工具关闭就可以正常抓包了。...
2018-08-31 21:13:11
2245
原创 Linux服务器断开SSH连接后,让程序不退出继续在后台执行
Question:怎么才能让跑在linux服务器下的程序,不在SSH连接断开后,继续运行呢?例子:比如用户在 linux 服务器配置了node环境,并且想在node环境下执行 hello.js 的脚本。//hello.jsvar http = require("http");http.createServer(function(request, response) { response.w
2018-04-01 09:57:26
10786
1
原创 websocket简易聊天室
一直对websocket不太熟悉,最近做了一个websocket的简易多人聊天室,没有做移动端适配兼容,还在不断完善中,如果对你有一些小小帮助,希望给个star ^_^基于node.js的express,socket.io模块实现的在线预览地址:http://120.78.215.130:8082/github地址:https://github.com/Neokekeke/websocket
2018-03-31 17:45:43
488
转载 JavaScript (new)创建一个对象的过程
在JavaScript的世界中,对象Object的操作是比较灵活的,可以通过创建一个对象,来进行继承,拓展,而且对象的属性是极其容易拓展的。所以创建一个对象实例流程可以是这样子的: function Person(name , age){ this.name = name; this.age = age; console.log(this
2018-02-27 22:48:10
10582
原创 JavaScript中【数组的合并】和【对象的合并 (浅克隆,深克隆)】
1. 数组合并1.1 数组concat()方法 //concat() //数组的拼接方法,返回拼接后的新数组 var arr1 = [1,2,3]; var arr2 = [5,6,7]; var res = arr1.concat(arr2); console.log(res); //[1,2,3,5,6,7] console.log(arr1
2018-02-25 23:23:32
1166
转载 call和apply的作用和区别
call和apply用来调用函数,并用指定对象(第一个参数)替换函数的 this 值,同时用指定数组替换函数的参数。注:也可以不指定参数,此时只是单纯的调用函数, 如:fun.call()语法: fun.call(thisobj,arg1,arg2) ;当后面参数个数确定时用call,参数之间用逗号连接 fun.apply(thisobj,[arg1,arg2]);当后面参数个数不确定时用
2018-02-25 00:14:07
402
转载 JavaScript实现函数重载
参考:浅谈JavaScript函数重载简单的说如果JS函数需要实现重载的话,可以根据arguments对象的length值进行判断。function overLoading() { // 根据arguments.length,对不同的值进行不同的操作 switch(arguments.length) { case 0: /*操作1的代码写在这里*/ break
2018-02-24 23:56:29
891
原创 浏览器从输入url到得到html的整个过程
从输入url到得到html的整个过程,需要分为几步走:加载资源的形式:手动输入页面的地址得到html文件,或者通过页面跳转加载html文件,www.baidu.com加载html中的静态资源(css,js,图片视频等静态资源) <script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>加载一个资源的过程
2018-02-05 17:14:55
780
原创 AMD异步模块定义—require.js学习总结
AMD 异步模块定义(require.js) require.js官网地址require.js 提供了两个全局函数define()和require()控制台输出define,require函数 通过这两个全局函数可以减少JS文件的http请求次数,有相互引用关系的JS文件根据依赖关系进行层级加载,没有依赖到的JS文件不加载。require.js测试程序如下: 下面截图中JS文件加载顺序:使用r
2018-02-05 14:56:17
462
原创 Vue2.0问题总结—在父组件中无法渲染子组件的问题
最近刚入门Vue2.0,准备跟着文档写demo,由于自己的粗心导致出现的一些问题,在这里总结下。先贴下我的VSCode中Vue快速添加的通用代码模板: "Print to console": { "prefix": "vue", "body": [ "<!-- $0 -->", "<template>", " <div></div>",
2018-01-25 15:47:46
6892
原创 Jquery—动画api
Jquery一些动画特效api//hide(),把元素隐藏,参数可为时间毫秒$('#hide').on('click',function(){ $('p').hide(1000);});//show(),把元素显示,参数可为时间毫秒$('#show').on('click',function(){ $('p').show(1000);});//toggle(),元素隐藏切换$
2018-01-22 16:58:37
614
原创 Jquery—常用遍历元素的api
简单记录下,还是要多看文档遍历过滤方法//eq(),first(),last(),has(),is(),filter(),map(),not(),slice()//eq(),匹配指定索引的那一个元素,参数是元素的下标$('ul.g li').eq(2).css('background-color','orange');//first(),选择匹配元素集合中的第一个元素$('ul.g li').
2018-01-22 16:55:48
669
原创 Ionic3-部分公共样式设置
在app.module.ts中可以设置以下代码,达到一些公共模板的设置imports: [ BrowserModule, HttpModule, IonicModule.forRoot(MyApp,{ tabsHideOnSubPages: 'true' , //隐藏全部子页面tabs iconMode: 'ios',
2018-01-22 10:56:31
3025
1
转载 WebSocket 实战
这一节里我们用一个案例来演示怎么使用 WebSocket 构建一个实时的 Web 应用。这是一个简单的实时多人聊天系统,包括客户端和服务端的实现。客户端通过浏览器向聊天服务器发起请求,服务器端解析客户端发出的握手请求并产生应答信息返回给客户端,从而在客户端和服务器之间建立连接通道。服务器支持广播功能,每个聊天用户发送的信息会实时的发送给所有的用户,当用户退出聊天室时,服务器端需要清理相应用户的连接信
2018-01-12 10:44:32
482
转载 使用 HTML5 WebSocket 构建实时 Web 应用
作为下一代的 Web 标准,HTML5 拥有许多引人注目的新特性,如 Canvas、本地存储、多媒体编程接口、WebSocket 等等。这其中有“Web 的 TCP ”之称的 WebSocket 格外吸引开发人员的注意。WebSocket 的出现使得浏览器提供对 Socket 的支持成为可能,从而在浏览器和服务器之间提供了一个基于 TCP 连接的双向通道。Web 开发人员可以非常方便地使用 WebS
2018-01-12 10:35:55
628
转载 ES6标准Map和Set的用法
js默认的对象表达方式是{}可以视为其他语言中的 Map 和 Dictionary 的数据结构;即一组键值对key - value;(键值对)js有个问题:对象表达方式{}中的键 key 必须是字符串,如下代码:var names={1:”a”,2:”b”};console.log(names.1)//Uncaught SyntaxError: missing ) after argument li
2018-01-11 15:15:22
1096
转载 ES6标准新引入-【interable】
interable【迭代】array可以使用for下标循环,但是Map和Set无法使用for下标循环。ES6标准为了统一,特意引入 interable 类型,Array/Map/Set都属于 interable 类型,可以使用for…of循环来遍历。 for…of 和 for…in for…of循环与for…in循环的区别:① for…in循环用在array中,Map和Set中不能使用;②f
2018-01-11 14:45:14
1078
转载 Cookie【详解】
【(转)文章出处:http://mp.weixin.qq.com/s/V_vRldvxut4iezM3EI-Bfw】cookie 前言 网络早期最大的问题之一是如何管理状态。简而言之,服务器无法知道两个请求是否来自同一个浏览器。当时最简单的方法是在请求时,在页面中插入一些参数,并在下一个请求中传回参数。这需要使用包含参数的隐藏的表单,或者作为URL参数的一部分传递。这两个解决方案都手动操作,容
2018-01-11 10:09:30
528
原创 JQuery简单下拉加载
用jquery简单实现下拉加载功能,主要确认几个点,window的高度,window滚动条到顶部的距离,document文档滚动条到顶部的距离。 条件: (window的高度+window滚动条到顶部的距离)>=document文档滚动条到顶部的距离加载下面数据//HTML <div>下拉加载更多...</div> <div id="main" style="height:
2018-01-10 16:37:00
747
原创 JS ,JQuery 随机输出一种颜色
任何一种颜色都可用红(Red)、绿(Green)、蓝(Blue)三种基本颜色按不同的比例混合得到,称为相加混色。 在计算机中,将红、绿、蓝三种颜色分别按光强度(深浅)的不同分为256个级别,0级实际上是黑色,255级是纯色(红、绿或蓝),分别用8位二进制数表示。 纯黑 :0 0 0 纯白:255 255 255 纯红:255 0 0 纯绿:0 255 0 纯蓝:0
2018-01-09 15:24:23
5740
原创 HTML文档加载过程
HTML文档加载的过程:浏览器解析HTML结构加载外部脚本和样式表文件解析并执行脚本代码构造HTML DOM模型 //ready事件在此触发加载图片等外部文件页面加载完毕 //load事件在此触发
2018-01-08 19:37:11
675
原创 SVG和Canvas的区别
SVG与Canvas的区别 SVG 不依赖分辨率 支持事件绑定 大型渲染区域的程序(例如百度地图) 不能用来实现网页游戏 Canvas 依赖分辨率 不支持事件绑定 最合适网页游戏 保存为”.jpg”格式的图片
2018-01-04 20:02:24
512
原创 JavaScript-substr(),substring(),slice(),split(),join()使用方法总结
substr() substring() slice() 这3个方法都是用来截取字符串的,是String对象的方法1.substr()用法:substr(start,length):返回一个从指定位置开始的指定长度的子字符串; substring(start,length):返回位于String 对象中指定位置的子字符串,子字符串中从start位置的字符开始截取,到length长度的字符!
2017-12-21 12:57:04
261
原创 CSS-几种元素居中方式
margin table居中 利用伸缩盒居中margin居中 <div style="width: 100px; height: 100px; margin: 0 auto; background-color: greenyellow;"> 居中</div>table居中 适用于文字居中,还
2017-12-20 10:34:26
336
原创 CSS-float浮动与清除浮动
CSS中float使用的个人总结。1.float属性的可用的值:left:元素向左移动right:元素向右移动none:元素不浮动inherit:从父级元素继承浮动属性 注意:float浮动在绝对定位和display属性为none时不生效。2.clear属性清除浮动:去除浮动属性(包括继承来的属性) clear属性值:left,right:去掉左,右浮动both:左右两侧浮动均去掉
2017-12-19 14:05:09
691
原创 CSS-position定位
CSS中position使用的个人总结position属性有: static relative absolute fixed偏移属性有: top,left,bottom,right, z-index(不属于偏移属性)position属性:static static是静态定位,对象遵循标准文档流,这个属性是默认的,不可以应用偏移量属性(top,left,bott
2017-12-19 10:49:10
235
原创 CSS-怪异盒模型和标准盒模型
在html文档中,每个渲染在页面中的标签都是一个个盒子模型。盒子模型又分为 : W3C标准的盒子模型 和 IE标准的盒子模型。 由于目前大部分主流的浏览器支持的是W3C标准盒模型(标准盒模型),也有保留对怪异盒子样式的解析,当然IE沿用的是自己标准的盒模型(怪异盒子模型)用两个简单的例子分别介绍下这两个盒子模型:标准盒模型:<!--html--><div class="box1">
2017-12-18 17:28:46
2718
原创 Ionic3中全局隐藏scroll滚动条样式
ionic3项目中,ion-content标签是默认带scroll滚动条的,如果需要全局清除滚动条,可以在app.scss中加入以下代码: ::-webkit-scrollbar { display: none !important; }
2017-12-14 10:10:01
3517
原创 Angular2 scroll滚动条事件监听多级联动,scroll固定一列移动多列
scroll绑定div实现固定一列和移动多列 最左边顶部是固定的,右上角可以左右滚动,左下角可以上下滚动,右下角是上下左右都可以滚动。 多级联动是指:右下角区块向左或右移动,右上角区块跟着移动,向上或向下移动时,左下角区块也跟着移动,右上角和左下角移动时互斥的。<!--html--><div class="container"> <div class="top">
2017-12-13 22:51:50
7380
1
原创 Angular2 中管道@Pipe的简单用法
在Angular2中有各种各样的类修饰器,比如:@App,@Component,@input,@output等等,最近需要用到数据过滤用到了管道@Pipe,下面记录简单@Pipe的简单用法。Pipe(管道)官网传送门 什么是@Pipe(管道)?其实这是一个过滤器的修饰声明,和Angular1中的filter的作用是一样的,有了filter能对数据处理提供强大的通用性和便利性,不过从Angula
2017-12-08 14:33:53
5228
转载 DomSanitizer 安全URL脚本访问,Angular 和 TypeScript
Cross-site scripting (跨站脚本) 跨站脚本(Cross-site scripting,通常简称为XSS)是一种网站应用程序的安全漏洞攻击,是代码注入的一种。它允许恶意用户将代码注入到网页上,其他用户在观看网页时就会受到影响。这类攻击通常包含了HTML以及用户端脚本语言。 XSS攻击通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用
2017-12-07 11:06:56
1772
原创 Ionic3中嵌入图片,音频url地址,出现“WARNING: sanitizing unsafe URL value”错误的解决方法
在项目中有时候需要在叫页面上显示图片,音频的信息,在项目中我把图片和音频等文件都转成了base64格式上传到服务器数据库。在Ionic2项目中比如使用:img,iframe,audio标签的src,a标签的href,需要使用数据库传来的base64数据时,变量直接赋值到url绑定数据的话,会报错,同样,需要引入外部url的资源链接也会报错。网上找了很多资料:才发现是Ionic2和TypeScript
2017-12-07 10:59:10
5788
5
原创 TypeScript简单的日期和计时器工具类
日期工具类: dateTime.ts:formatDate(){ //三目运算符 const Dates = new Date(); //年份 const Year : number = Dates.getFullYear(); //月份下标是0-11 const Months : any = ( Dates.getMonth() + 1
2017-12-06 17:15:27
8980
原创 Ionic-Native 中media插件的使用,录音功能的实现
目前Ionic官方提供了很多native插件,方便调用手机等设备的原生接口。最近在研究在ionic项目中加入录音功能,完成简单录音功能后,并做下笔记,我用到的是Ionic native中的media插件和file插件。 简单介绍下这两个插件:(官方介绍:media,file) media插件:实例化一个音频对象,需要在手机目录中创建一个音频类型文件来存储数据,可以实现对该音频进行录音,
2017-12-06 16:53:22
5144
原创 关于TypeScript页面跳转,事件监听和数据传递
ionic3采用的是typescript的写法,页面间跳转有几种方式。页面堆栈方式(NavController) 先进后出,后进先出,push()和pop(),在需要跳转的页面引入 NavController, NavParams(跳转带过去的参数),在跳转到的页面添加 NavParams 接收传过来 的参数,一般页面跳转都带有返回的按钮,所以和pop()一样,也可以调用
2017-11-24 15:17:31
13212
1
2016 白鹭生态大会邀请函源码
2018-12-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人