摘要: 今天在win7虚拟机中安装IE10之后,打开任何页面都无法显示文字,自己找了一些资料也没有什么发现,虚拟机其他的程序都能很好的工作,只有IE10有问题,于是初步怀疑是IE10设置的问题。于是打开IE的选项设置,查看高级的所有选项的时候,终于发现问题所在:IE10默认采用了硬件加速,但是虚拟机的显卡很烂,造成了文字无法正常渲染。于是选中使用CPU取代GPU呈现页面选项就解决了这个问题。 阅读全文
posted @ 2013-10-10 17:56 dail 阅读(480) 评论(0) 推荐(0) 编辑
摘要: wijmo用户反馈了一个RadialGauge控件内存泄露的bug,采用chrome监控内存使用情况,发现明显的内存泄露,在前面的文章中我就发现了jQuery内存泄露的问题,这次再次发现此问题,自然就联想到以前发现的问题。由于jQuery会缓存一些数据在$.cache中,在调用remove方法的时候,会将这些数据清除掉。但是如果DOM元素不是采用jQuery删除的,就会发生内存泄露。用户场景是这样的:用户放了一个RadialGauge控件和Timer控件在UpdatePanel中,然后定时去刷新gauge。经过调试发现问题出在更新updatepanel内容的时候,MS AJAX framewo 阅读全文
posted @ 2013-10-10 17:49 dail 阅读(730) 评论(0) 推荐(0) 编辑
摘要: 在写chart widget的时候,我们使用了第三方的svg类库Raphael。结果客户给我们报了一个内存泄漏的bug,我们在测试的时候确实存在内存泄漏。经过测试发现了问题的原因。Raphael本身存在一些问题,还有就是在和jQuery使用的时候,我们也没有注意到一个问题。在创建jQuery对象的时候,jQuery会将jQuery缓存起来,放到jQuery.cache对象中。在调用jQuery的remove方法的时候,会清理掉jQuery的缓存。我们的问题就出在这里,在Raphael中,自己有remove方法来清楚Raphael创建的raphael对象和svg/vml元素。而在chart中,我 阅读全文
posted @ 2012-04-08 09:23 dail 阅读(2382) 评论(0) 推荐(0) 编辑
摘要: jQuery1.7在事件上做了改动,将事件绑定统一为on和off了,对以前的绑定方式继续支持. 但是在文档中没有提到的改动有以下两个:就是jQuery的die和undelegate方法,原来在取消命名空间绑定的时候不需要前面加点,但是在1.7中是需要前面加点。如下:1.7以前$(".selector").die("namespace");$(".selector").undelegate(".selector1", "namespace");1.7以后$(".selector" 阅读全文
posted @ 2012-04-08 09:09 dail 阅读(433) 评论(0) 推荐(0) 编辑
摘要: 在asp.net中的webcontrol开发的时候采用render方法来呈现控件。在javascript中,对于一些html代码的拼接大多数情况下采用字符串相加的方式来处理,这样做有以下弊端:1.可读性差,易出错,出错后不易发现。2.在javascript最小化的时候,长长的字符串不能最下化。于是在项目中我实现了累死render的方法来处理html代码的拼接。StringBuilder = function () { var self = this, strs = []; self.append = function (str) { strs.push(str); }; self.toStri 阅读全文
posted @ 2011-07-21 11:28 dail 阅读(945) 评论(0) 推荐(0) 编辑
摘要: jquery 1.6已经发布了,在这个版本中最大的变化就是attr方法。原来我们通过这个方法取得jquery对象的属性。现在升级之后,原来采用attr方法的地方可能会出现问题。新的attr方法只会取得DOM元素上设置的属性。而不会取得DOM元素内部的属性。比如说:<input type="checkbox" checked="checked" />在1.6版中,调用方法$(":checkbox").attr("checked")方法将返回"checked"值,而不是true. 而之前 阅读全文
posted @ 2011-05-06 17:32 dail 阅读(1016) 评论(0) 推荐(0) 编辑
摘要: jQuery ui 内置了一组effects,包括:blind,bounce,clip,drop,explode,fade,fold,highlight,pulsate,puff,scale,size,shake,slide,transfer这些效果这些effect可以通过$("selector").effect(effect,[option],[speed],[callback]),或者是jQuery中包装的show和hide方法调用。其参数和effect调用相同。这里说明下参数的含义:effect:就是效果名称,可以是上面列举的effects之一。option:在不同的effect中包含不 阅读全文
posted @ 2011-01-14 17:30 dail 阅读(2996) 评论(5) 推荐(0) 编辑
摘要: 在开发widget的时候,发现了一个jquery ui position的一个bug。这个bug是有关collision的。这个功能就是当当前的定位的元素超出屏幕屏幕的时候,会自动翻转定位。比如说定位在右边,而右边不够显示定位元素的时候,就定位到左边。下面我贴出代码来分析position的代码以及这个bug出现的位置。 阅读全文
posted @ 2010-12-13 09:46 dail 阅读(1823) 评论(0) 推荐(0) 编辑
摘要: 这个widget是包含在wijmo 项目中的一个widget。目前此widget已经开源基于mit和gpl双协议,目前是beta版,可能存在bug。此项目的demo网站http://wijmo.com/Wijmo-Open/samples/[代码]          // If have animation.200 if (o.animationOptions.animated && o.animationOptions.duration 0) {201 setTimeout($.proxy(function () {202 var o = self.options.animationOp 阅读全文
posted @ 2010-10-29 11:11 dail 阅读(1321) 评论(2) 推荐(0) 编辑
摘要: 在编写widget的时候,一般我们需要绑定一些事件,最好将这些widget的绑定事件加上当前widget的命名空间。如果同一个jQuery对象,使用了两个widget,而两个widget都绑定了相同的事件名称,可能会出现问题。在销毁widget的时候,去除绑定事件也很方便,只需要unbind(”.namespace“)就可以了。在写jQuery的时候,因为jQuery对象是... 阅读全文
posted @ 2010-10-27 14:31 dail 阅读(3286) 评论(4) 推荐(1) 编辑