- 博客(15)
- 收藏
- 关注
转载 所谓jQuery.append()、jQuery.html()存在的XSS漏洞
使用jQuery.append()、jQuery.html()方法时,如果其中内容包含<script>脚本而没有经过任何处理的话,会执行它。简单的示例代码如下:var xssStr = '<script>console.log(1)</script>';$('#test').html(xssStr);控制台会打印出“1”。同...
2015-02-28 10:30:00 1221
转载 JavaScript RegExp对象的exec()方法
JavaScript RegExp对象的exec()方法用来匹配字符串,它的行为与match()有些不同。对于RegExpObject.exec(),w3school上面是这样介绍的:exec() 方法的功能非常强大,它是一个通用的方法,而且使用起来也比 test() 方法以及支持正则表达式的 String 对象的方法更为复杂。如果 exec() 找到了匹配的文本,则返回...
2014-10-08 11:02:00 161
转载 JavaScript Promises
上篇文章介绍了JavaScript异步机制,请看这里。JavaScript异步机制带来的问题JavaScript异步机制的主要目的是处理非阻塞,在交互的过程中,会需要一些IO操作(比如Ajax请求,文件加载,Node.js中的文件读取等),如果这些操作是同步的,就会阻塞其它操作。异步机制虽然带来了许多好处,但同时也存在一些不如意的地方。代码可读性这样的代码读起来简直累...
2014-08-24 21:15:00 142
转载 JavaScript异步机制
单线程异步执行的JavaScriptJavaScript是单线程异步执行的,单线程意味着代码在任务队列中会按照顺序一个接一个的执行。异步代表JavaScript代码在任务队列中的顺序并不完全等同于代码的书写顺序,比如事件绑定、Ajax、setTimeout()等任务的发生时间是“不可被预期”的。既然JavaScript是单线程机制,那Ajax为什么是异步的?setTimeout(...
2014-08-19 19:55:00 140
转载 使用Node.js实现数据推送
业务场景:后端更新数据推送到客户端(Java部分使用Tomcat服务器)。后端推送数据的解决方案有很多,比如轮询、Comet、WebSocket。1. 轮询对于后端来说开发成本最低,就是按照传统的方式处理Ajax请求并返回数据,在学校的时候实验室的项目一直都采用轮询,因为它最保险也最容易实现。但轮询带来的通信资源的浪费是无法忽视的,无论数据是否改变,都照常发送请求并响应,而且每次...
2014-08-11 19:50:00 150
转载 JavaScript事件的几个细节
一、是捕获还是冒泡昨天被问到一个问题:事件流有几个阶段?在这几个阶段中,事件一共发生几次?问题很简单,但对于事件一共发生几次有点乱。总觉得捕获也能触发事件、冒泡也能触发事件,可事件确实只发生了一回啊!所以写篇文章梳理一下,对此很清楚的同学可以跳过了。子问题1:事件流有几个阶段?“DOM2级事件”规定的事件流包括三个阶段:事件捕获阶段、处于目标阶段和事件冒泡阶段。1. ...
2013-09-27 18:46:00 89
转载 CSS选择器从右向左的匹配规则
下面这个栗子,CSS选择器它是如何工作的?.mod-nav h3 span {font-size: 16px;}如果不知道匹配规则,可能的理解是从左向右匹配:先找到.mod-nav,然后逐级匹配h3、span,在这个过程中如果遍历到叶子节点都没有匹配就需要回溯,继续寻找下一个分支。但事实上,CSS选择器的读取顺序是从右向左。还是上面的选择器,它的读取顺序变成:先找...
2013-09-26 16:41:00 216
转载 JavaScript原型与继承
原型在JavaScript中,每个函数都有一个prototype属性,这个属性是一个指针,指向该函数的原型对象。这个原型对象为所有该实例所共享。在默认情况下,原型对象包含一个属性叫做constructor,它指向prototype属性所在的函数指针。图片和例子来自《JavaScript高级程序设计(第三版)》。function Person () {}Perso...
2013-09-10 18:29:00 97
转载 CSS3制作ajax loader icon
demo本文用到的两个CSS3属性:transform、animation一、HTML<div class="ajax-loading"> <div class="bar1"></div> <div class="bar2"></div> <div class="bar3"&g...
2013-08-21 16:40:00 92
转载 jQuery之.on()方法
还不是完全清楚如何使用.on()进行jQuery事件绑定的同学先看这里http://api.jquery.com/on/jQuery绑定事件的方法有几种,推荐使用.on()方法绑定,原因有两点:1.on()方法可以绑定动态添加到页面元素的事件比如动态添加到页面的DOM元素,用.on()方法绑定的事件不需要关心注册该事件的元素何时被添加进来,也不需要重复绑定。有的同学可能习惯于...
2013-08-14 15:50:00 253
转载 ECMAScript5严格模式
ECMAScript5引入了严格模式(strict mode)的概念,IE10+开始支持。严格模式为JavaScript定义了一种不同的解析和执行模型,在严格模式下,ECMAScript3中的一些不确定或不安全的行为将会抛出一些错误。开启严格模式的方法是在“作用域”的第一行加上'use strict';在严格模式下,未使用var定义的全局变量会报错,这是检验当前域是否为严格模...
2013-08-12 19:44:00 202
转载 Media Queries之Respond.js
一、stackoverflow上面对css3-mediaqueries.js与respond.js的比较css3-mediaqueries.jsProsSupports min, max and min+max mediaqueries Supports px and em values Reacts on window resize Elaborates o...
2013-08-12 19:06:00 140
转载 去除两端margin的方法
假如有一份视觉稿,其中一部分是实现这样的:两排横向排列的框,它们中间有边距,两端无边距。每个框大小为100*100,外边距为20,整个区域为460*220。HTML结构:<div> <ul> <li></li> <li></li> &...
2013-07-30 10:24:00 604
转载 BFC与hasLayout
BFC与hasLayout都是CSS布局上的概念。几个月前在微博上才了解什么是BFC,算是对布局有点初步的了解。hasLayout则是IE6、7产生许多bug的根源。一、BFCFloats, absolutely positioned elements, block containers (such as inline-blocks, table-cells, and...
2013-07-25 10:53:00 100
转载 用rem设置文字大小
一、px与em用px设置文字大小是再正常不过的事情,比如html {font-size: 12px;}随处可见的在设置width、height使用px,这也是细致稳妥的设置方法,这样做的缺点在于调整浏览器的文字大小并未影响以px为单位的文本,这对一部分用户造成了不便。用em设置文字大小弥补了这个问题,em是一个相对单位。文字大小用em表示的情况下,可以随着浏览器字...
2013-07-25 10:52:00 145
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人