会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
赵东禹's blog
Old soldiers never die, they just fade away.
博客园
首页
新随笔
联系
订阅
管理
2015年2月28日
所谓jQuery.append()、jQuery.html()存在的XSS漏洞
摘要: 使用jQuery.append()、jQuery.html()方法时,如果其中内容包含';$('#test').html(xssStr);控制台会打印出“1”。同样的情况也存在于jQuery.append(),因为jQuery.html()内部也是调用jQuery.append()。既然会存在执行脚...
阅读全文
posted @ 2015-02-28 10:30 赵东禹
阅读(4753)
评论(0)
推荐(0)
2014年10月8日
JavaScript RegExp对象的exec()方法
摘要: JavaScript RegExp对象的exec()方法用来匹配字符串,它的行为与match()有些不同。对于RegExpObject.exec(),w3school上面是这样介绍的:exec() 方法的功能非常强大,它是一个通用的方法,而且使用起来也比 test() 方法以及支持正则表达式的 St...
阅读全文
posted @ 2014-10-08 11:02 赵东禹
阅读(1580)
评论(0)
推荐(0)
2014年8月24日
JavaScript Promises
摘要: 上篇文章介绍了JavaScript异步机制,请看这里。JavaScript异步机制带来的问题JavaScript异步机制的主要目的是处理非阻塞,在交互的过程中,会需要一些IO操作(比如Ajax请求,文件加载,Node.js中的文件读取等),如果这些操作是同步的,就会阻塞其它操作。异步机制虽然带来了许...
阅读全文
posted @ 2014-08-24 21:15 赵东禹
阅读(2431)
评论(3)
推荐(3)
2014年8月19日
JavaScript异步机制
摘要: 单线程异步执行的JavaScriptJavaScript是单线程异步执行的,单线程意味着代码在任务队列中会按照顺序一个接一个的执行。异步代表JavaScript代码在任务队列中的顺序并不完全等同于代码的书写顺序,比如事件绑定、Ajax、setTimeout()等任务的发生时间是“不可被预期”的。既然...
阅读全文
posted @ 2014-08-19 19:55 赵东禹
阅读(9509)
评论(12)
推荐(8)
2014年8月11日
使用Node.js实现数据推送
摘要: 业务场景:后端更新数据推送到客户端(Java部分使用Tomcat服务器)。后端推送数据的解决方案有很多,比如轮询、Comet、WebSocket。1. 轮询对于后端来说开发成本最低,就是按照传统的方式处理Ajax请求并返回数据,在学校的时候实验室的项目一直都采用轮询,因为它最保险也最容易实现。但轮询...
阅读全文
posted @ 2014-08-11 19:50 赵东禹
阅读(10079)
评论(3)
推荐(5)
2013年9月27日
JavaScript事件的几个细节
摘要: 一、是捕获还是冒泡昨天被问到一个问题:事件流有几个阶段?在这几个阶段中,事件一共发生几次?问题很简单,但对于事件一共发生几次有点乱。总觉得捕获也能触发事件、冒泡也能触发事件,可事件确实只发生了一回啊!所以写篇文章梳理一下,对此很清楚的同学可以跳过了。子问题1:事件流有几个阶段?“DOM2级事件”规定的事件流包括三个阶段:事件捕获阶段、处于目标阶段和事件冒泡阶段。1. IE9以前的IE浏览器都只支持后两个阶段,也就是处于目标阶段和事件冒泡阶段。这个顺序很好理解,在嵌套层次最深的节点上接收事件,然后逐级向上传播到父级节点。2. 早期的Netscape团队提出的另一种事件流叫做事件捕获。即顶层节点应
阅读全文
posted @ 2013-09-27 18:46 赵东禹
阅读(1263)
评论(2)
推荐(2)
2013年9月26日
CSS选择器从右向左的匹配规则
摘要: 下面这个栗子,CSS选择器它是如何工作的?.mod-nav h3 span {font-size: 16px;}如果不知道匹配规则,可能的理解是从左向右匹配:先找到.mod-nav,然后逐级匹配h3、span,在这个过程中如果遍历到叶子节点都没有匹配就需要回溯,继续寻找下一个分支。但事实上,CSS选择器的读取顺序是从右向左。还是上面的选择器,它的读取顺序变成:先找到所有的span,沿着span的父元素查找h3,中途找到了符合匹配规则的节点就加入结果集;如果直到根元素html都没有匹配,则不再遍历这条路径,从下一个span开始重复这个过程(如果有多个最右节点为span的话)。在某条CSS规则下(
阅读全文
posted @ 2013-09-26 16:41 赵东禹
阅读(10494)
评论(12)
推荐(11)
2013年9月10日
JavaScript原型与继承
摘要: 原型在JavaScript中,每个函数都有一个prototype属性,这个属性是一个指针,指向该函数的原型对象。这个原型对象为所有该实例所共享。在默认情况下,原型对象包含一个属性叫做constructor,它指向prototype属性所在的函数指针。图片和例子来自《JavaScript高级程序设计(第三版)》。function Person () {}Person.prototype.name = 'Nicholas';Person.prototype.age = 29;Person.prototype.job = 'Software Enginner';Per
阅读全文
posted @ 2013-09-10 18:29 赵东禹
阅读(1565)
评论(3)
推荐(3)
2013年8月21日
CSS3制作ajax loader icon
摘要: demo本文用到的两个CSS3属性:transform、animation一、HTML 二、CSS.ajax-loading { position: relative; width: 100px; height: 100px; margin: 25px; -webkit-transform: scale(0.5); transform: scale(0.5); -webkit-animation: rotateThis 1s infinite step-start; animation...
阅读全文
posted @ 2013-08-21 16:40 赵东禹
阅读(987)
评论(0)
推荐(2)
2013年8月14日
jQuery之.on()方法
摘要: 还不是完全清楚如何使用.on()进行jQuery事件绑定的同学先看这里http://api.jquery.com/on/jQuery绑定事件的方法有几种,推荐使用.on()方法绑定,原因有两点:1.on()方法可以绑定动态添加到页面元素的事件比如动态添加到页面的DOM元素,用.on()方法绑定的事件不需要关心注册该事件的元素何时被添加进来,也不需要重复绑定。有的同学可能习惯于用.bind()、.live()或.delegate(),查看源码就会发现,它们实际上调用的都是.on()方法,并且.live()方法在jQuery1.9版本已经被移除。bind: function( types, dat
阅读全文
posted @ 2013-08-14 15:50 赵东禹
阅读(6172)
评论(5)
推荐(4)
下一页
公告