transform和position fixed的恩怨

定位与z-index 说起position这个东西,就不得不说z-index 属性, 说起z-index就不得不说层叠上下文 嗯……好复杂 参考 http://www.zhangxinxu.com/wordpress/2016/01/understand-css-stacking-context-order-z-index/ https://developer.mozilla.org/zh-CN/docs/Web/Guide/CSS/Understanding_z_index/The_stacking_context https:

一份完整的express4后台配置

nodeJS 设置跨域响应头

分开指定res.setHeader(‘Access-Control-Allow-Origin’, origin); 和res.setHeader(‘Access-Control-Allow-Origin’, ‘*’); 是因为有部分origin我希望能够使用withCredentials: true的方式发送cookie等信息。

nodeJS 文件上传与下载

nodeJS 文件上传 express 下使用body-parser是无法解析multipart/form-data的内容的,如果客户端发来文件内容,使用body-parser中间件是看不到文件的 此时需要引入multer模块,npm install multer -S 客户端使用FormData上传file Object nodeJS文件下载 nodejs 实现下载的方式很多,最简单的一个就是静态化内容。

使用JS动态获取背景颜色

在写vue-music的时候,希望把song-list组件做成向qq音乐那样,背景颜色根据歌单封面变化。 使用canvas 的getImageData可以获取到图片的数据,包括rgba 但是canvas 存在跨域问题。因此服务器端需要设置响应头,并且客户端设置image.crossOrigin = ‘anonymous’ 实现方式如下:

vue-music 兼容性调整

前段时间学习vue的时候做了一个music webapp;对遇到的兼容性问题做一个总结 特性/兼容性 UC QQ Chrome WebView QQ内建 微信内建 filter:

socket.io 的使用

☕图片在火星,正在赶来...

首先配置好服务器 然后客户端需要配置socket 客户端手动断开socket, 使用socket.close(); 手动重连socket.open(); socket监听事件,使用socket.on(); 服务端广播消息,io.emit:广播全部包括自己, socket.broadcast.emit: 广播全部不包括自己 socket.io 实现点对点发送消息 实现方式:在io.on(‘connection’)的时候,所有的socket按照某种关键字保存起来, 比如一个对象oSockets。做{username: socket} 的对应关系。

JavaScript高级程序设计笔记

第 3 章 基本概念 typeof 的返回值有undefined, boolean, string, number, object, function 对未初始化的变量执行 typeof 操作符会返回 undefined 值,而对未声明的变量执行 typeof 操作符同样也会返回 undefined 值 Number.MIN_VALUE 中——在大多数浏览器中,这个值是 5e-324;能够表示的最大数值保存在Number.MAX_VALUE 中——在大多数浏览器中,这个值是 1.7976931348623157e+308 0 除以 0 才会返回 NaN,正数除以 0 返回 Infinity,负 […]

textarea 实现高度自动增长

有时候希望textarea 能够自动调整高度来适应输入的内容 网上看到了很多解决方案,比如动态创建一个隐藏的div,当用户输入的时候将textarea的内容绑定到div,由于div的高度会自动撑开,因此可以动态检测div的高度,然后将div的高度复制给textarea。这个方法应该是兼容性较好而且比较稳健的办法,但实在太繁琐 还有一个解决办法就是动态将textarea的scrollHeight 复制给高度。

Generator 执行顺序

generator 不同于普通的函数,执行方式有区别 第一个fooObj.next() 返回Object {value: 1, done: false}此时fooObj指针指向的是yield 1(第一个yield) 第二次运行fooObj.next(), 指针指向console.log(yield)中的yield即第二个yeild,此时函数返回Object {value: undefined, done: