分类: html

html5

功能检测功能检测有四种方式: 检测全局对象(如 window、navigator)上是否有某属性,示例:geolocation 功能检测 创建一个元素,检测它是否包含某属性,示例:canvas 功能检测 创建一个元素,检测它是否包含某方法,示例:vedio format 功能检测 创建一个元素,为它设置属性,检测这个属性值是否发生改变,示例:input type 功能检测 DETECTING

事件模块

标准的现代浏览器为事件提供了 addEventListener、removeEventListener 等接口。 addEventListener 将事件监听器注册到 EventTarget 对象上,而 Node 接口继承了 EventTarget。事件监听器的 this 指向触发事件的元素引用。addEventListener 可以通过 capture 选项设置是否在捕获阶段执行(默认在冒泡阶段

节点、属性、样式模块

节点、属性、样式在 DOM 接口或节点操作类库或 MVVM 框架中都是相互独立的模块,模块之间边界清晰,模块与环境之间通过几个主要接口进行通信,没有错综的关联线条。其处理的复杂度在于,模块内部需要对节点类型、属性、样式的多样性以及兼容性问题作出处理。针对多样性的一般处理手法是对共性进行归类(制作不同的编程接口,或制作不同的类以加区别)、对个性进行特殊处理(通过 hooks 留口子以应用 map 映

DOM 随笔

写在篇首浅近地看,面向对象、面向过程对应着两种思维模式,前者描述事物,后者描述变化。类比我们自小接触的数学方程、力学计算,自变量 x 或物体的质量 m 都是不可再分割的单一属性客体,我们原本就亲近面向过程的思维模式。虽然简单地把小车假想成一个质点可以描述它的运动状态,但是想要打造一辆小车,那就不止于表述小车(系统与环境)的外部表现,还要理清小车(系统)的内部特征。面向对象本身趋近于外在事物在我们头

ajax、web sockets 及跨域

ajaxajax 全称 “Asynchronous Javascript + XML”,它利用浏览器原生的通信能力,能实现页面的局部更新。ajax 请求可以通过 XMLHttpRequest 对象发送;在兼容性上,IE7+, Firefox, Opera, Chrome 和 Safari 均支持原生的 XHR 对象。以下是 XHR 对象的基本使用样例: 1234567891011121314151

浏览器渲染机制及性能优化

网页渲染机制网页渲染过程包含页面加载和页面渲染两个过程。页面加载过程指的是从服务器请求资源并构建 DOM 树的过程。网页渲染过程指的是通过 DOM 树渲染出视图内容。这两个过程有重合内容,因为异步加载的 js 脚本可能会修改 DOM 结构。 在 webkit 中,针对不同类型的资源,会有多个加载类进行处理。其大体策略为:先从本地缓存池中查找资源;如果找不到,再从网络上获取以 url 为标识的资源。

css 总汇

选择器基本选择器 选择器 意义 版本 示例 * 通用选择器 2.1 * E 标签选择器 1 p .class 类选择器 1 .nav #id ID选择器 1 #wrapper E[attr] 属性选择器,匹配带 ‘data-url’ 属性的 a 元素 2.1 a[data-url] E[attr=val] 属性选择器,匹配 type 属性为 ‘text’ 的 inp

less 使用指南

前言这篇文章本不打算发布在知乎平台。但是在汇总笔者所不常用的 less 语法时,笔者又小小费了点脑筋,推想了一下 less 的实现(这样有助于从更高的维度去看待很多功能实现)。因此,笔者就希望能在一个更开阔的平台上得到一些回馈和纠错性意见。之所以要汇总 less 语法,那是因为要推究网页、组件库改变样式主题的实现。 导入12@import "library"; // library.less@im