摘要: IE6 a标签的请求被abort的原因 最近项目中掉进IE6 a标签abort两次坑,第一次是a标签绑定一个事件,href='javascript:;'这样a标签触发了事件,切换验证码图片,结果验证码图片总是显示不出来,通过抓包显示状态为abort。其实这个的原因可以从IE6中a标签执行顺序说起,IE6中a标签执行onclick在执行默认事件(即href跳转)之前,当触发了绑定的事件之后,那么处理完事件之后,如果不return false或者阻止默认事件,则会继续执行href跳转,IE6会认为页面跳转到其他页面或者页面重新刷新,则abort之前onclick事件中的请求。 所以 阅读全文
posted @ 2012-06-22 22:39 ChaunceyHao 阅读(413) 评论(0) 推荐(0)
摘要: 最近练手php,一个地方需要缓存来支持,想来想去还是用memcached做缓存,可是电脑是windows系统,如果是linux系统安装memcached就比较容易,敲入几行shell就搞定,windows下还没搞过,于是记录下过程,备用。 Windows下的Memcache安装 1、下载memcache for windows。下载地址:http://jehiah.cz/projects/memcached-win32,推荐下载binaries版本,解压(本例中解压到c:\memcached)。 2、在命令行状态下输入: c:\memcached\memcached.exe -d instal 阅读全文
posted @ 2012-06-22 22:38 ChaunceyHao 阅读(198) 评论(0) 推荐(0)
摘要: 昨天无意中看到一篇老外的文章,文章提到了addEventListener第二个参数可以传入object,并且对象中handleEvent为事件处理函数。例如下面的javascript代码: var obj = { handleEvent: function() { alert('body clicked'); } }; document.body.addEventListener('click',obj,false); 测试发现这段代码在IE9+,chrome,FF,opera等浏览器是正确的(测试范围可能不够宽),而且可以成功的绑定click事件。在Qwrap 阅读全文
posted @ 2012-06-22 22:37 ChaunceyHao 阅读(271) 评论(0) 推荐(0)
摘要: 在一些前端项目中可能要用到动态创建iframe的需求,例如无刷新ajax上传文件。但是在IE下创建带有name的iframe会有个bug,创建的代码如下: var iframe = document.createElement('iframe'); iframe.name = 'test'; 上面的这段javascript代码在IE下赋不了name属性!!!即iframe.name = 'test';这段代码未执行。 在IE中我们可以使用下面的代码来动态创建带有name的iframe: var iframe = document.createEl 阅读全文
posted @ 2012-06-22 22:36 ChaunceyHao 阅读(275) 评论(0) 推荐(0)
摘要: 别处看到的php去除xss的函数,自己备份下,以备不时之需。 php过滤xss函数 <?php /** * @过滤XSS(跨站脚本攻击)的函数 * @par $val 字符串参数,可能包含恶意的脚本代码如<script language="javascript">alert("hello world");</script> * @return 处理后的字符串 * @Recoded By Androidyue **/ function RemoveXSS($val) { // remove all non-printable 阅读全文
posted @ 2012-06-22 22:35 ChaunceyHao 阅读(511) 评论(0) 推荐(0)
摘要: 帮忙在活动中找bug,两层iframe,经过调试发现是document.selection.createRange导致的错误,在浏览器中报“拒绝访问”,猜测是跨域导致的。于是加上document.domain主域就搞定了。 本来以为是两层iframe导致的(因为他们反映一层iframe没有问题),于是自己建了个demo,test.qq.com/qq1.html代码如下: <iframe src="http://demos.qq.com/qq2.html" frameborder="0" id="myIframe">< 阅读全文
posted @ 2012-06-22 22:34 ChaunceyHao 阅读(638) 评论(0) 推荐(0)
摘要: 一直使用xampp做apache服务器,可是新版的xampp添加了虚拟主机就访问127.0.0.1也跳转到了虚拟主机去了,比如:我添加了www.demo.com,路径是e:\www\demo,而我的添加完之后,访问127.0.0.1竟然也是跑到了www.demo.com下面去。 上网找了好多资料说是添加localhost的,于是在httpd.conf最后添加如下配置: <VirtualHost *> DocumentRoot E:\www ServerName 127.0.0.1 # ErrorLog logs/default-error_log </VirtualHo... 阅读全文
posted @ 2012-06-22 22:34 ChaunceyHao 阅读(171) 评论(0) 推荐(0)
摘要: 今天看了国外大佬Spanner的一篇关于pngfix的文章,已经到下班时间,就简单说说pngfix的xss攻击。 pngfix.js pngfix.js是IE6中解决png不透明的js方案,原理其实就是遍历了页面的img,然后使用滤镜来解决。 pngfix导致xss pngfix.js使用了如下的代码: var imgID = (img.id) ? "id='" + img.id + "' " : ""; img.outerHTML = strNewHTML 如果使用如下的代码就会出现xss: <img src= 阅读全文
posted @ 2012-06-22 22:33 ChaunceyHao 阅读(246) 评论(0) 推荐(0)
摘要: 昨天查了一些audio资料,自己写了个html5音乐播放器,后来写上瘾了,晚上折腾了一下加上了多首音乐支持、添加了循环模式,添加了进度,歌词等功能,界面仿得亦歌,可是一些icon还是比较难看,毕竟自己不会设计,呵呵,上面的歌曲都是通过goldwave转的ogg格式。访问地址:html5音乐播放器. html5音乐播放器 代码还算简洁,javascript只用了400行左右,css和html也不是很多,后期如果找个视觉帮忙设计下界面就帅了,哈哈 主要功能: 支持音乐列表支持歌词滚动歌词实时显示到title支持列表循环和单曲循环循环模式支持音量调节支持拖动改变播放进度更多功能等你去发现哦 写... 阅读全文
posted @ 2012-06-22 22:32 ChaunceyHao 阅读(927) 评论(4) 推荐(0)
摘要: 之前几天根据YUICompressor和TBCompressor整合到鼠标右键菜单自己将uglifyjs也添加到了右键菜单,下面简单记录下过程。效果如下 uglifyjs添加到鼠标右键菜单 配置windows nodepath环境 鼠标右键我的电脑,选择属性→高级属性管理→高级选项卡→环境变量,添加新的环境变量,名字为NODE_PATH,变量值为nodejs的安装路径,例如下面 C:\Program Files\nodejs 然后保存退出 安装uglifyjs 在命令行安装uglifyjs, npm install uglify-js -g 安装uglifyjs到鼠标右键菜单 找到第二... 阅读全文
posted @ 2012-06-22 22:32 ChaunceyHao 阅读(304) 评论(0) 推荐(0)
摘要: 在DHTML开发中,微软在其DOM中为每个元素实现了一个fireEvent方法。我们知道HTML的事件onXXX可以由系统(IE环境)来管理和触 发,也可以直接执行事件的handler,比如onclick,如果被赋予事件处理函数,我们可以用element.onclick()来执行事件处理函 数。那么fireEvent用来干嘛呢?在MSDN中fireEvent的描述很简单:Fires a specified event on the object.bFired = object.fireEvent(sEvent [, oEventObject])并且MSDN给出了一个使用fireEvent的示例 阅读全文
posted @ 2012-06-22 22:26 ChaunceyHao 阅读(167) 评论(0) 推荐(0)
摘要: 在javascript开发中我们会经常获取页面中的事件对象,然后来处理这些事件,例如下面的getEvent函数就是获取javascript下的页面事件对象。 function getEvent(event){ return event || window.event; } 我们使用getEvent的时候可以这样调用。 function foo(event){ var evt = getEvent(event); alert(evt); } 并且把foo函数绑定到一个onclick事件上。 但是常用的是foo函数不会有参数,或者第一个参数没有传入,我们可以通过argumen... 阅读全文
posted @ 2012-06-22 22:24 ChaunceyHao 阅读(391) 评论(0) 推荐(0)
摘要: 在IE中提供了一个fireEvent方法,顾名思义就是触发某个事件发生的意思。刚开始我以为是会跟平时使用onclick()一样,没想到最近在写 javascript入门ppt的时候发现了,原来自己太自以为是了!看来还有很多javascript的细节没有掌握好啊! 现在根据自己的总结详细的记录下fireEvent方法的使用。fireEvent是IE提供的一种方法,msdn文档地址:http://msdn.microsoft.com/en-us/library/ms536423(v=vs.85).aspx onclick() 我们先看第一段实例代码:<ul onclick='aler 阅读全文
posted @ 2012-06-22 22:23 ChaunceyHao 阅读(315) 评论(0) 推荐(0)
摘要: 打开pom.xml文件时收到如下提示: There is no schema defined for this pom.xml. Code completion will not work without a schema defined. 将 改为: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache. 阅读全文
posted @ 2012-06-22 22:19 ChaunceyHao 阅读(633) 评论(0) 推荐(0)
摘要: 打印一份两页的文档,总是无法打印完全,第二页打印出来的是以下提示: this job requires more memory than is available in this printer. Try one or more of the following, and then print again: For the output format, choose Optimize For Portability. In the Device Setting page, make sure the Available PostScript Memory is accurate. Reduce 阅读全文
posted @ 2012-06-22 22:18 ChaunceyHao 阅读(3932) 评论(0) 推荐(0)
摘要: 收到如下异常: Caused by: javax.el.ELException: org.hibernate.ObjectNotFoundException: No row with the given identifier exists: [com.darkmi.entity.system.Company#0] at javax.el.BeanELResolver.getValue(BeanELResolver.java:298) at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:175) at com.s.. 阅读全文
posted @ 2012-06-22 22:16 ChaunceyHao 阅读(1267) 评论(0) 推荐(0)
摘要: 假设应用场景如下:Node与PageServer是一对一的关系,其中,Node类对应node表如下: CREATE TABLE `node` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `name` varchar(50) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8; PageServer类对应page_server表如下: CREATE TABLE `pageserver` ( `id` bigint(20) NOT NUL 阅读全文
posted @ 2012-06-22 17:39 ChaunceyHao 阅读(651) 评论(0) 推荐(0)
摘要: 就像@Table注解用来标识实体类与数据表的对应关系类似,@Column注解来标识实体类中属性与数据表中字段的对应关系。 该注解的定义如下: @Target({METHOD, FIELD}) @Retention(RUNTIME)public @interface Column { String name() default ""; boolean unique() default false; boolean nullable() default true; boolean insertable() default true; boolean updatable() de 阅读全文
posted @ 2012-06-22 17:23 ChaunceyHao 阅读(1083) 评论(0) 推荐(1)