月度归档:2017年02月

判断是否为chrome浏览器

早期我给出的判定是基于UA,在UA中它有一个独一无二的Chrome字符串。

代码如下:

var isChrome = window.navigator.userAgent.indexOf(“Chrome”) !== -1

今天发现chrome还是有一些独一无二的东西,基于它们,我们就可以搞出基于特征的判定了。

代码如下:

var isChrome = window.google && window.chrome

这两个东西,前者拥有其本地数据库gears,后者不知什么东东,有两个属性csi与loadTimes。

CSS Lint 检测CSS代码中的诟病

CSS Lint 现有的一些规则

1、修复解析错误(Parsing errors should be fixed)

2、避免使用多类选择符(Don’t use adjoining classes)
IE6以及更古老的浏览器对类似.foo.bar的多类选择符解析不正确,参考IE6下的多类选择符一文。

3、移除空的css规则(Remove empty rules)
这个规则不包含任何属性,类似:
.foo { }
空规则的产生原因一般来说是为了预留样式。去除这些空规则无疑能减少css文档体积。
继续阅读

使用yeoman快速搭建React项目

什么是yeoman就不多做赘述,搜索引擎搜索下一把大的介绍,此处省略介绍、直接开始教你如何使用yeomen搭建react、webpack项目

第一步:yeomen运行需要node环境,安装node运行环境,下载安装包下一步下一步安装完成就好。

“““““““““““““““““`

第二步:安装yeoman
npm install -g yo

“““““““““““““““““`

第三步:安装generator-react-webpack
npm install -g generator-react-webpack

“““““““““““““““““`
继续阅读

React基础知识归纳

接触学习React差不多一年多的时间了,乘空档中整理下学习的react相关知识,归纳总结下,便于后期更好的学习和提升对React开发的认识。
React核心思想是:封装组件。
React主要大概包含以下这些概念:
·JSX语法糖
·React组件
·Virtual DOM(虚拟DOM)
·Data Flow(数据流)
继续阅读