最近处理一些用户录入数据时,发现有一些明明是纯数字的数据,却通过不了类型校验(无法解析成 Int/BigInt)类型,由于一直都是通过日志查看错误,觉得很疑惑,后来找到原始数据,发现因为这个『字符串』带了一个 zero width space,导致程序异常。 zero width…
引言 在一年多之前,我写了一篇文章《The way to Angular 2 | Part.1》介绍 Angular,最初打算持续完成一个系列,然后在我写完文章之后,Angular 和 TypeScript 都发生了相当大的变化,整个系列也搁浅了。 如今,我打算换一个角度,继续这…
随机数与随机字符串 早前我都使用 Math.random() 来生成随机数,然后转成 16 进制字符串来生成随机字符串,后来看到了这个回答(stackoverflow)。 Math.random() 确实不是一个好的选择,因此我需要更加科学的方法。 window.crypto (…
问题 出于个人习惯,我在终端模拟器(iTerm2 等)中,都是将光标(cursor)设置为 vertical bar,而在 neovim 中则是将 normal 模式的光标设置为 block。 这样一来,当我从 neovim 的正常模式退出时,导致终端的光标样式也变成了 bloc…
鉴于 disqus 在国内访问越来越慢,资源和数据请求量越来越大,严重拖慢了页面加载,而且博客也只需要一个简单的评论对话系统,所以开始考虑进行评论系统的迁移。 替代方案 – hashover hashover 满足了我对评论系统的期望,简单,数据本地化,可以轻松迁移。 hasho…
问题 起因是这样的,一开始在项目中写了一个原始的 Popup 组件(通过 react-redux 的 connect 方法接入 redux),后来有了一个更高级的需求,我就想要直接 extends 这个原始的 Popup 组件,然后覆写一些方法。 然后遇到了一个问题,继承之后的子…
build delightful, modern, responsive web experiences. — Google Web Fundamentals 引言 前端的性能指标在通常情况下是一个很难量化的指标,面向的用户群体和环境复杂,在现有条件下,网页的绝对性能仍然取决于用…
前端项目 启动流程 页面载入之后,引入的脚本是 boot.js,由 es2015 的 shim,systemjs,systemjs 的配置文件和 boot.js 组成。 执行 boot。设定 cache 时间,import app/app.js,执行 init 函数。 init …
原文链接:http://michalzalecki.com/lazy-load-angularjs-with-webpack/ 随着你的单页应用扩大,其下载时间也越来越长。这对提高用户体验不会有好处(提示:但用户体验正是我们开发单页应用的原因)。更多的代码意味着更大的文件,直到代…
Angular 2 已经进入 beta 通道有一段时间了,也有不少人开始在各种情景中使用 Angular 2。我自己也在过去两个月里进行了一些基于 Angular 2 的项目尝试。 The way from Angular 1.x to 2 这应该是大多数人很关心的一个问题,从 …
介绍 在 React-Native 中,实现了一个类似于 webpack 的包系统,命令行工具提供了一个 bundle 的功能,用来打包整个项目的文件。 Bundle 熟悉 webpack 的人应该知道,webpack 最终会将所有引入的文件(JS、CSS、模板等)全部打包到一个…
问题: angular 1.4.x 版本开始,<div ng-repeat="(key, value) in myObj"> ... </div> 的方法移除了按照首字母排序的规则,改为使用浏览器默认的方法,也就是 for key in myObj。 因此当我们使用 angula…
Source code on Github: https://github.com/gucheen/GPDP CODE: Google plus like dropdown selector
默认情况下,$resource 服务会对它进行的 http 请求的 response 默认进行一些处理,它会尝试 map 返回值。 如果你的服务器端返回的值符合标准 json 格式,那么不会遇到问题,但是如果你的服务器返回了类似 12 或者 abc 这样子的数据时,你就会发现当你…
一般来说,当我们在页面内部一个可滚动元素上使用滚动时,如果滚动距离超过它的顶部或者底部,就会触发页面滚动,但是在一些情况下,我们不希望引起页面滚动,因为这会影响用户操作。 下面是一种阻止页面滚动的方法。 var scroll = document.getElementsByCla…
在 VMware 的客户机内使用鼠标的前进 / 后退等功能键 在 VMware 的虚拟磁盘文件夹内,找到 .vmx 配置文件,在其中加入下面这句配置: mouse.vusb.enable = "TRUE" 就可以在客户机内正常使用鼠标的前进、后退等功能键了。
360 极速浏览器 "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.120 Safari/537.36 QIHU 360EE"猎豹安全浏览器"…
要在 Chrome Extension 中使用 Closure library, 需要将 Closure library 按照需求打包。 假设扩展的开发目录如下: -root |-css |-js |-closure-library |-menifest.json |-.. 首先…
最近想把博客转到 jekyll ,原本的程序是 typecho 的,手动迁移有些麻烦(虽然 typecho 0.9 已经是默认 markdown 写作的了)。 于是想要找一个转换程序,在 github 上搜了一圈,只有一个 typecho 转 hexo 的,虽然都是 markdo…
首先看一下 goog.dom.htmlToDocumentFragment 的实现代码: goog.dom.htmlToDocumentFragment_ = function(doc, htmlString) {var tempDiv = doc.createElement('…
在使用 Google Closure Library 时,要注意一点。 goog.require() 所请求的内容,不能被同一个 script 标签内的 js 代码所使用,例如下面这种做法就是错误的。 <script src="closure-library/closure/go…