女王控的博客

JS

32 篇文章

HTML5 file API加canvas实现图片前端JS压缩并上传

图片上传前端压缩的现实意义 对于大尺寸图片的上传,在前端进行压缩除了省流量外,最大的意义是极大的提高了用户体验。 这种体验包括两方面: 由于上传图片尺寸比较小,因此上传速度会比较快,交互会更加流畅,同时大大降低了网络异常导致上传失败风险。 最最重要的体验改进点:省略了图片的再加工成本。很多网站的图片上传功能都会对图片的大小进行限制,尤其是头像上传,限制 5M 或者 2M 以内是非常常见的。然后现在的数码设备拍摄功能都非常出众,一张原始图片超过 2M… »

使用canvas在前端实现图片水印合成

图片合成最常见的需求有验证码图片,亦或者图片加水印等,这种实现一般都是后端实现的。 随着 HTML5 发展和现代浏览器的占比越来越高,我们其实也可以在前端直接进行图片的合成。优点在于,响应更快,体验更好;如果是和文字进行合成,我们可以利用客户端字体,视觉展现效果更丰富;同时展示和合成全部都是前端完成,因此更利于维护。 这里通过举个例子,演示如何在前端实现多个图片合成的效果,主要是借助 HTML5 canvas 相关技术。 使用 canvas… »

js页面文字选中后分享到新浪微博实现

功能简述 一般翻译软件都有划词翻译功能,例如有道桌面词典的桌面划词翻译功能: 在 web 页面上,我们也是可以实现类似的效果的:划词 → 显示提示 → 分享。这就是本文要展示的内容。 效果与 demo 结语及补充 其实呢,此方法不仅支持新浪微博,支持企鹅微博(腾讯微博),狐狸微博(搜狐微博),也是可以的,只要根据各个微博分享页面的 API 地址,将 window.open()中的地址换换就可以了。 »

Page Visibility(页面可见性) API介绍

API 目前页面可见性 API 有两个属性,一个事件,如下: document.hidden: Boolean 值,表示当前页面可见还是不可见 document.visibilityState: 返回当前页面的可见状态 hidden visible prerender preview visibilitychange… »

RequestAnimationFrame的作用

原理 浏览器(如页面)每次要洗澡(重绘),就会通知我(requestAnimationFrame),而 setTimeout 貌似是多个独立绘制。 作用 统一的向下兼容策略 CSS3 实现动画即高效又方便,但是对于 PC 浏览器,IE10+ CSS3 实现,IE9-之流 JS setTimeout 实现,实现方式也是不统一,但是 requestAnimationFrame 跟 setTimeout 非常类似,都是单回调 为了统一代码,需要对 IE9-的浏览器做下兼容性处理 简单的兼容(IE… »

0%