纯js 文本复制功能

2018-06-09
阅读 2 分钟
2.8k
最近在项目中需要点击复制的功能,然后百度看了一下网上的各种方法,有引用插件的(不太理想,一个功能就引用一个插件,代码太冗余了),有自己封装的(可能技术发展比较快,有些都失效了),但是根据他们的介绍,自己找到相关的API,总结了一下,适用于Chrome Firefox (Gecko) Internet Explorer(9+) Opera Safari

js 图片转base64的方式

2018-04-23
阅读 4 分钟
9.6k
废话不多说,直接上代码吧 方式一:Blob和FileReader 对象 实现原理: 使用xhr请求图片,并设置返回的文件类型为Blob对象[xhr.responseType = "blob"] 使用FileReader 对象接收blob {代码...} 方式二:canvas.toDataURL()方法 实现原理: 使用canvas.toDataURL()方法 需要解决图片跨域问题 image.crossOrigin = ''; 使用...

我们来聊聊Cookie、Session和Storage的那些事

2018-04-22
阅读 7 分钟
4k
我们在做项目的时候,经常把Cookie和Session挂在嘴边,可实际对于他们了解的也是很少,只是会使用,但这远远不够,熟练的掌握他们的特性才能把项目做的更好。下面我们就来认识一下他们吧!

JavaScript 事件循环

2018-04-22
阅读 2 分钟
2.4k
js是一门单线程的语言,不可能进行多线程编程,异步编程就是多线程编程一种模式,但是我们经常讲到js的异步编程,其实是伪异步,因为它是单线程的,也就是同步,只有前面的代码执行完才能执行下面的代码。所以要理解js中的异步理念,就需要了解js的运行核心--事件循环(Event loop)

不能错过的web前端性能优化总结

2018-04-21
阅读 2 分钟
3.9k
web前端性能优化主要分为以下几个板块: 加载优化 DNS预解析 合并img、css、javascript文件,减少http请求 缓存一切可缓存资源 使用长Cache 使用外联式引用css、javascript文件 压缩HTML、css、javascript文件 启用GZip 使用首屏加载(比如同构) 使用按需加载资源文件 使用滚屏记载资源文件 资源懒加载 通过Media Query加...

HTML5 video视频字幕的使用和制作

2018-04-20
阅读 3 分钟
6.9k
HTML5允许我们使用<track>元素为视频指定字幕。这个元素的各种属性允许我们指定这样的东西,比如我们添加的内容的类型,它所在的语言,当然还有对包含实际字幕信息的文本文件的引用。

节流函数怎么写?

2018-04-19
阅读 2 分钟
2.8k
平时我们在开发中,会经常使用到resize和movesemove事件,这些事件会在短时间内频繁的执行事件绑定程序,我们知道频繁的操作DOM会带来很大的性能消耗,页面会促发回流和重绘。有时候页面会出现卡顿,在IE浏览器下可能直接崩溃。这时候节流函数就发挥作用了。

如何理解js的发布-订阅模式

2018-04-18
阅读 3 分钟
1.6k
发布-订阅模式/观察者模式 发布-订阅模式也叫观察者模式,这是一个一对多的关系,可以多个订阅者订阅同一个事件,当事件触发时就会通知订阅者去执行订阅时绑定的程序; 我举个例子来解释一下: A同学想在结婚的时候邀请好友B、C、D、E、F、G...来喝喜酒,这个邀请的名单其实就是订阅事件 {代码...} 等到A同学要结婚的时...