- 浏览: 30423 次
- 性别:
- 来自: 深圳
最新评论
-
msdghs:
楼主强大 正则很头疼 !
闲得蛋疼玩String.prototype.split方法 -
northc:
楼主 在这里想跟你请教下 Buffered Grid . ...
ExtJs 4.0 新结构及Buffered Grid实现分析 -
clue:
小鸡啄米 写道貌似我也碰到了这样的问题,情况是这样的,为了在I ...
IE sucks... 由document.namespaces引发的脚本错误 -
小鸡啄米:
貌似我也碰到了这样的问题,情况是这样的,为了在IE6里面兼容P ...
IE sucks... 由document.namespaces引发的脚本错误 -
clue:
taoge2121 写道ExtJs的源码看着太费劲了,不如jQ ...
ExtJs 4.0 新结构及Buffered Grid实现分析
文章列表
JavaScript中字符串的split方法大家经常用吧?例如将逗号分隔的字符串分解为数组:
"a,b,c".split(","); // ["a", "b", "c"]
split可以按正则表达式进行分解估计很多人也知道,常见的就是多浏览器通 ...
ExtJs 4.0出来也有一段时间了,改动真的很大,说是完整重构了一遍都不为过。这几天为了找思路便专心看源码,总算弄清了点眉目。
整体改动(流水帐,不全)
类继承机制变了,多了mixin、calParent等新的东西,更方便扩展;
Store增加了缓存机制及动态切换分页(range)的接口,可以实现预读及本地快速切换;
类继承关系变了,多了一堆AbstractXXX的类,还没弄懂它们拆分出来的意义;
组件(Component)变了,它自身也有componentLayout了,与Container的Layout区分开;
Panel及其它复杂组件更OO了,例如header也是个Container, ...
已经受够了IE6了,什么时候IE6能灭绝?
IE6下不支持border-color:transparent,而众所周知的解决办法是使用chroma滤镜。
chroma滤镜的作用是,将此节点内的指定颜色变为透明。所以这样就可以实透明边框:
.test{
border-color:pink; /*设置一个很少用到的颜色*/
filter:chroma(color=pink);
}
而我们在对ExtJs的功能扩展中,有使用透明边框,理所当然,也要做IE6的hack。
而现在问题产生了,chroma滤镜在特定的嵌套条件下,会使得其内的文字也一起透明:
<!DO ...
IE总能给我们带来“惊喜”,做前端开发近2年,碰到过不少郁闷得要死的IE专属bug。
这次又发现一个,十分诡异:
系统基于ExtJs开发,动态加载各页面JS。
症状是,IE下页面JS加载过来后有很大几率执行异常,由于是动态加载的,无法进行调试。
而换成静态加载又一切正常
嗯。。。当然,其它浏览器一切正常
经过数次尝试,最终终于利用带defer属性的script标签静态加载,重现出了这个错误。
出错的语句是这行:
Js代码
if (!doc.namespaces[prefix]) {
经测试,只要访问doc.namespaces就会报异常
(这是excanvas的 ...
首先这个问题hax也有相关分析,受益良多。
问题描述(如果你只想看结论,可以跳过此部分)
近些时候发现一个bug:在IE下,当ExtJs中的菜单处于显示状态时,点击TextField或TextArea,发现它的emptyText未移除。(emptyText应该在只有为空,并未激活时显示)
然后对此bug进行了调试追踪,发现TextField并未收到focus事件。
继续制作简单模拟场景以定位排除,最终发现:
当在mousedown事件中改变页面焦点目标时,就会发生问题:界面光标已经在text input中了,但并未发出focus事件;当前的document.activeElement不为tex ...
前面
发了一段JS代码+keyconfig插件用于跳出电信广告嵌套,但每次还是要自己去操作,蛮麻烦的。
今天突然想起Greasemonkey这个插件可以在指定的站点上运行自定义JS代码,于是上网简略查了下,参照这篇文章
,新建了一个脚本 ...
对电信的流氓广告已经无语了,那个啥114的深圳电信IP已经被列入了adblock plus黑名单中,但是广告内容没了,广告包装页还在。在FF下页面标题显示为空白;点链接跳不出来,还是在iframe内打开,URL也不会变,导致收藏失效;等等这一系列问题很烦人。
对这种情况,之前的做法是直接按F5,直到有标题显示就代表广告页没了。
但现在电信变本加厉,有些网站“被广告”的几率超过了50%,终于怒得出绝招:
keyconfig + javascript
keyconfig是个firefox插件,可以自定义快捷键和对应的执行脚本,脚本好像是JS语法,只不过在浏览器层执行。
定个快捷键,然后写个脚本 ...
-------
昨天发帖,没想到只加到博客中,论坛中没有...重发一下~
-------
内存释放在使用Ext开发OPOA系统时显得尤为重要
去年开始接触Ext开发,中间花了很多时间来解决内存泄漏。
最开始Ext还是3.0版,泄漏得一塌胡涂,也没什么处理头绪,只知道在onDestroy里加delete语句,用sIEve看效果。
而Ext3.1有了一个很大的进步,基本上绝大多数组件都没有泄漏了。但并不意味着Ext没泄漏,做出的页面也没泄漏。JS是自动回收的,而只要有一个引用没有释放就可能导致一大片JS对象及Dom节点无法释放,所以迟早还是会面对这个问题。
本人不擅长表达,就直接列心得吧。
一、 ...
现在在实际开发中碰到一个问题:
需要将Ext的组件类与另外一个接口类进行整合,使它既能用于Ext的组件机制也能用于自己的那套应用。
最开始我的想法是多继承
不过上网查了下,在Extjs官网有人提过类似问题,但没有答复
另外好像都比较推崇单继承多接口
话说对JavaScript来说好像没有接口与类的概念。。。
虽然Ext的继承机制非常强大,但也不可能超出JS自身的语言特性
目前使用的是Ext.applyIf直接复制到原型中
applyInterface = function(destClass,srcClass){
var dp = destClass.prototype || d ...
在尝试修改Ext库,完善内存释放时发现
不管怎么改,form节点都一直释放不掉
自己写例子时,就算创建了dom节点后只赋给一个变量,sIEve显示的引用也有3个
抓狂了很久以后,上网查了下资料,发现是IE在作怪:
http://blog.archive.jpsykes.com/92/ie6-form-tag-orphans/index.html
作者也试过很多办法来清除,无一例外全失败了。
引用Approaches Tested
* innerHTML on parent (most common garbage collection)
* Using removeNode, ...
- 2009-09-11 17:00
- 浏览 1623
- 评论(1)
帖子发了好几天,可惜么人回
好在经过几天的努力,发现这个问题也没那么困难。
目前修改了一些Ext组件,使用sIEve检查发现除form节点外,其它的都可以正常释放掉。
(form节点无法释放好像是IE自身的特性)
不过只是想要个是否可行的答案罢了,现在看来貌似是可行的。
自己做的补丁帖在3楼
由于是做非常简单的可行性测试,所以只有部分标准UI组件的修正,有兴趣的可以回帖交流。
---2009-9-14
-----------------------------传说中的分割线---------------------------------------
最近准备使用Ext3.0.0开发 ...