从网页调起手机拍照时,很多系统的相机程序都会自动根据你拍照的方向进行旋转,调整照片显示,但是他们把照片传给页面时,却是原始的方向。因此,常常造成拍好的照片到了网页上就上下颠倒之类的问题,给用户造成困惑。一个解决办法就是,读取照片 EXIF 信息中的 Orientation 字段,来主动旋转照片。虽然网上已经有成熟的用 Javascript 读取 EXIF 的轮子,不过为了一个小功能引入一个库未免累赘,于是我们自己造一个。 ArrayBuffer, TypedArray 和 DataView ArrayBuffer, TypedArray 和 DataView 共同为 javascript 操作二进制数据提供了便利的途径。 ArrayBuffer 是一块内存,…

我的客户就要红配绿,他错了吗? 不知道是什么时候开始了这句俗语:“红配绿,赛狗屎”。于是红配绿不仅成了一个可以拿来吐槽的设计禁忌,也成为了评价某人审美很差的标准。重点是,这看起来是一条“客观条件”,终于为评价“好看不好看”找到了一条非主观的依据。 那么,首先说,红配绿到底“丑”吗?答案是无法确定,原因是这句话指代太模糊了。为什么呢?以 rgb(255, 0, 0) 为基准的话,大部分人会说 r 150,160 往上的全是红色,如果以 hsb(0,…

现在越来越多的 HTML5 API 要求 https 才能使用,比如 Geolocation. 虽然电脑上允许 localhost 在 http 时调用,但是很多时候,我们是为了移动设备开发,需要在手机上测试,常常用手机通过 ip 地址去访问电脑,于是就杯具的无法调用。以下仅针对 vue-cli 提一些简单的解决方案。 证书 可以自己生成一个凑合用。没有 openssl 的话,需要先装一个。 openssl genrsa -out key.pem openssl…

搜索是网站也好,app 也好,最常见的需求之一。也是看起来最简单,实则很复杂的元素之一。 确定需求 做搜索之前,首先要问问自己:我们真的需要搜索吗? 搜索的优点和缺点 优点 发挥其独特的辅助导航功能,让用户在导航系统没法找到想要的东西的时候快速找到想要的。我们之所以在互联网上做设计,最主要的目的之一就是让人们便捷的找到他们想找到的信息。 那么什么情况下,最适合搜索引擎发挥他的功能呢? 大量数据。 数据不统一。比如由多部门维护的网站,数据格式不统一,架构也不一样,导航已无能为力。 数据具有动态性碎片性,无法逐一归纳到导航系统里。比如微博。 另一方面,搜索是极有用处的用研工具。它有助于你制定标签,制作受控词表,以及改进搜索本身的设计。 缺点 开发搜索引擎需要成本。如果时间很短,…