5月6号dragonfly 终于出来见人了 http://www.opera.com/products/dragonfly/ 果然和之前大家预测的一样 这就是一个类似firebug的东西,但是功能又比firebug少了太多.易用性也不够好 蜻蜓除了"for opera"之外 毫无特色. 其实非要找特色的话也是有的: 1 使用它 必须要联网. 是的 这个东西不是一个软件 不是一个插件, 是一个服务. 2 这个"强大的工具"的界面使用js+ css + ??ML(不知道是啥东西,opera自己的XUL?) 画出来的. 也就是说 你在用一个web版的类似firebug的东西.在窗口上点右键就知 ...
这帖子不打算多说, 说多了恐又引起口水仗. 常常见到这样的观点: 引用B/S系统越来越像C/S系统, 这其实是一种倒退.这种做法丧失了.....(此处省去一千二百三十四个字) 这种说法在大多数情况下是正确的,我个人也非常认同. 但是大家有一点一定要明白 (尤其是对于初涉B/S开发的同学): 客户端展现方式上类似C/S系统 不等于系统架构上也类似C/S系统. 换言之, 反对把B/S系统做得像C/S系统,并不等于在B端的用户体验上不可以做得丰富多彩. 所以不要把本文最初提到的观点误解为 : 客户端大量使用ext之类的框架(类似RIA,交互体验类似桌面GUI) 是B/S系统的一种倒退.
我看一下2.1的代码 他所谓的对rest的支持只是对 form.action做了一些小小的改动 大家可以自己和2.02的对比一下 而且这个改动实际上可以理解为是对 2.02的一个缺陷的修复(2.02里form的ajax提交不能设定header信息) 我是怎么的也没看出来2.1对Full REST support 做了哪些特别的工作 有分析的更透彻的吗? 给大家讲一下 2.1到底是怎么提供的Full REST support呗 谢谢了
Ext现在在je里的人气越来越旺了, 我想任何了解ext的人 对这种人气的兴旺不会有丝毫的惊奇. 它所爆发出的力量瞬间摧毁了ajax领域内所有的竞争对手,很多有多年历史的商业软件也没能幸免. 但是正如 7thbyte 所说 "AJAX不应该只是EXT" [url]http://www.javaeye.com/topic/184120[url] 他的这个观点我也很认同, 对于大多数使用Ext的人来说,ext只是一个工具, 一个"能够更漂亮地把自己的界面需求制作出来,提供更好的交互性(7thbyte语)"的工具. 大家在关注工具如何使用的同时, 也应该留心一下工具背后所蕴含的技术以及意义 ...
昨天看了 lveyo老兄的"innerHTML的性能问题" 一文 http://lveyo.javaeye.com/blog/182891 该文介绍了一篇老外的关于提高innerHTML性能的文章. 老外的方法非常的怪异且神奇. 很多朋友在惊叹之余 对于背后的原理非常感兴趣. 受hax的提醒, 我看了一下webkit的代码.在这里我将分析的结果分享出来 说的不一定对 还请大家多多拍砖. 浏览器在 el.innerHTML = newHTML 时所做的工作: ==================================== 原始方法 1) 创建一个fragment(doc ...
在IE内( 6 7 都一样) 运行下面代码 ,代码可以从附件里下载 (大家可以看一下 dom结构多么的简单啊) <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>IE BUG ---- table position & select </title> <script> function showDiv(){ var tbox=document.getElementById("tbox"); ...
先不废话 代码如下: <html> <head> <script type="text/javascript" > function init(){ var tab0=document.getElementById('tab0'); var tr1=document.getElementById('tr1'); var td3=document.getElementById('td3'); var idx_tr1=tr1.rowIndex; var idx3= td3.cellIndex; alert( ...
(暂时只列出优化后的测试数据) =========================================== 优化工作的目的: (待补充) =========================================== Ext 2.02 中 的缺陷: (待补充) =========================================== 优化方案详述 (待补充) =========================================== =========================================== 此次测试 优化的内容点: ...
刚才闲来无事 去看了一眼, 发现Dragonfly的主页终于更新内容了 写上了下面这段文字,同时邀请大家加入他的邮件列表 A fast-flying long-bodied predatory insect of the order Odonata, suborder Anisoptera Valued by humans for their ability to spot and hunt down harmful bugs from great distances 看来从最开始就被网友说中了 之前opear的开发人员放出的那篇博客被删除了 , 原来说的 3月中旬发布的消息看来 ...
前几天讨论了一下 ext的 Destroy机制引起的内存问题 发现出现问题的核心点 是 element.removeAllListeners 方法. 相关讨论见: Ext2.02事件机制缺陷分析,以及解决方案 http://fins.javaeye.com/blog/173818 EXT的destroy方法是不是存在漏洞? http://fins.javaeye.com/blog/173218 测试使用工具见 http://fins.javaeye.com/blog/172891 解决这一问题后我们可以发现, 依然存在内存无法释放的问题. 分析后得出ext的又一个重大 ...
2008-03-20更新一个临时解决方案. 测试发现,Ext2.02在IE下无法正常释放被删除的元素(当该元素被注册了事件时) 经过分析 发现ext事件机制中的一个bug ( bug 具体描述见: http://fins.javaeye.com/blog/173218 测试使用工具见: http://fins.javaeye.com/blog/172891 ) 使用 el.on(eventName, fn) 为el添加事件 调用 Ext.destroy(el) 方法移除el 此时,如果fn为全局类型,或者是被全局对象引用, 那么会使el元素成为孤立节点,无法彻底移除. 而如果在 Ex ...
呵呵 高兴 安装后发现 http://fins.javaeye.com/blog/167978 中提到的现象改变了 但是依然和其他浏览器不同 http://fins.javaeye.com/blog/167982 中提到的bug没有修复 继续期待一下版本
EXT的destroy方法是不是存在漏洞?销毁的不彻底? 利用 http://fins.javaeye.com/blog/172891 提到的工具,在IE下对EXT进行测试 只是一个简单的页面,页面内只是简单的定义一个简单的window ,如下 var win=new Ext.Window({title:"my window", width:400, draggable : false, shadow : false, resizable : false, shim :false, autoDestroy : true, hei ...
(本文图片较大 请耐心等待) 先注明一下: 这篇文章只是讲解 在IE下如何利用 sIEve(一个drip的加强版) 来发现 内存泄露和内存回收问题, 而不是讲解关于 IE的内存管理和内存泄露原理的文章. 关于IE的内存管理和内存泄露的更多知识还麻烦大家自行google了. sIEve 是 一个帮助我们查看ie浏览器(他本身基于操作系统安装的ie内核)内存的使用和内存泄露问题的. 它可以: 1 列出当前页面内所有dom节点的基本信息(html id style 等) 2 页面内所有dom节点的高级信息 (内存占用,数量,节点的引用) 3 可以查找出页面中的孤立节点 4 可以查找出页面中 ...
Opera Dragonfly 不是说要在 SXSW Interactive Festival 期间发布更多消息吗? 可是已经过了这个时段了 怎么还没有新闻出来呢 着急啊 想看看到底是个什么东西 不过 opear关于滚动条的那个bug不解决 我坚决不用!!!! >:( 气愤啊 明显的一个bug Opera为啥就是不改啊!!!!!!
打算建立一个专题, 专门用来记载一些 web开发中的"冷知识" 这里的冷知识是指: 冷门 不常用 不重要 而且并不复杂的知识.(我认为的冷知识,也有可能大家都知道 只是我不知道) 可能涉及到 js技巧 ,css hack , 不同浏览器特性等 (但不包括常见的 和google上能轻易找到的) 基本上 这些知识可以知道也可以不知道, 而且这些知识随着 浏览器版本的演进,随时都有可能发生变化. 总之 可以理解为是一些无聊的知识,但是如果web开发足够深入, 也许这些知识在帮助你解决问题的时候 是很重要的. ======================================== ...
从今天开始,建立一个标签 用来记录 一些 web开发中 冷门 不常用 不重要 但是却很基础的知识. 基本上 这些知识可以知道也可以不知道, 而且这些知识随着 浏览器版本的演进,随时都有可能发生变化. 其实下面两篇文章也属于 冷知识 safari 3 的一个bug : 关于select的 (我怀疑这个bug我是全球首发) http://fins.javaeye.com/blog/167978 firefox 2 的一个bug (更新) :关于页面元素位置信息 http://fins.javaeye.com/blog/167837 好下面言归正传 ================= ...
在给gt grid编写editor时发现的 safari 版本 3.0.4 这个bug 简单点说就是, 当select下的所有option的 selected属性都是 false时, 大多数浏览器 都会将 选项指向上次选择的项,而safari会生造出一个空的option来, 而且这种情况不是总发生, 什么时候发生 什么时候不发生不好说 看后面的代码注释吧 演示文件见附件 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <meta http-e ...
对不起大家,晚上6点多的时候 发帖子心切 举错了例子 这次这个例子更明显点 详细的看附件里的文件 对不起大家, 我的例子 附件文件 在 ie ff3 opear safari 下运行效果是一致的 但是在 ff2 里却是错误的 看来今后大家在编写跨浏览器代码的时候 FF2 和 FF3 要区别对待 关键在于 那个table的位置. 在ff2下 table的offsetLeft/offsetHeight 以及td的offsetLeft/offsetHeight 和在其他浏览器里有出入(其他浏览器都差不多 +-在几像素之间,而FF2则比较离谱) 更夸张的是 在ff2下 ...
今天一个朋友问我 这样形式代码啥意思 咋理解 myObj.prototype=new yourObj(); 我问他 这样的明白不 myObj.prototype.p1= 123; 很幸运 这个还是明白的. 那就好解释了: myObj.prototype=new yourObj(); 就等于 var _temp= new yourObj(); myObj.prototype={}; // 清空当前的prototype for (var k in _temp ){ myObj.prototype[k]=_temp[k] } 然后他就明白了 我的故事讲完了 ...
ext现在得到越来越多的人关注,但是在ext之外的ajax世界其实同样精彩. 而在诸多精彩之中,有一个精彩让我非常的兴奋, 一个中国人自己开发的 ajax框架: ucren . 官网: http://widgets.ucren.com 一个看起来和EXT有些类似的ajax框架 ,但是很有自己的特色: 体积更小, 速度更快, 功能并不输给EXT (没有ext那么丰富 但是常用功能都有了) 不要拿他和EXT做比较 把他当作一个全新的东西来体会,你会发现他更多精彩之处. (唯一遗憾的是 不是开源免费的 不过这又何妨? 是否免费与是否出色没有必然联系 )
网页在不同浏览器 以及不同皮肤(或OS主题)下 滚动条的宽度并不总是相同的 (如果是横向滚动条 你也可以理解为高度 呵呵) 通常 16 17 18 不等 如何才能争取的取得 滚动条的宽度呢?
safari 无法正确打印 运行期由js生成的页面. 举例: 主页面内: var popwin=window.open(''); popwin.document.body.innerHTML='hello!!'. 此时能够打开新窗口, 也能够显示出 hello. 但是调用 popwin.print() 无反应. 实际上不光 popwin.print 如此 你直接点击菜单 看一下, 浏览器File菜单下的 print 都是灰色的 ,无法打印!!!! 此情况 在动态生成 iframe 内嵌页面时也会出现. 该缺陷直接影响了 gt-grid 的打印功能 :'( . 不知道 saf ...
一个语法着色器 基于X2CodeHighlighter修改而来 原版 X2CodeHighlighter 相关网址 : http://www.x2blog.cn/supnate/9517.html 本工具主要用于帮助我们在编写文档时,可以加入着色后的代码 便于文档的布局和阅读 主要改动: 做了一个新的操作界面 (10-29 进行了更新 增加了功能和易用性) 兼容性修改一点点 (10-29 进一步修改) 小bug改了一个 (10-29 又修改了一个bug) 10-26增加了显示行号的功能 10-29增加格式化js代码功能 使用方法 运行 highlight.html 时一看便知. ...
ext2 的demo和alpha一放出,立即吸引了全球ajax爱好者的目光. 我和很多人一样 被深深的震撼, 完全拜倒在他面前. 由于我也一直在研究grid组件, 所以对他的grid很感兴趣. 看了DEMO之后, 除了自叹不如之外还是自叹不如 :). 可以说 ext 2的grid是目前 基于js实现的列表里最出色的(没有"之一"). 但是 EXT2 的表格里有一个很重要的变化. 列表不再是 由一个table组成. 而是变成了 由n多个div和table组成. 每行数据是一个table. 下面的代码 是一条记录对应的 html代码. 注意: 只是一行数据. <DIV cl ...
"Opera的滚动条拦截了事件"是这样的: 一个div 1使用 overflow:auto 里面的内容多时出现滚动条,这个很正常 但是我另外一个div 2是一个浮动层 当他和div1 的滚动条重合时, 点击他无效,触发的是div1的滚动条,这个问题怎么解决呢 div2的 zindex 大于 div1 在ie ff下都正常 就是 opera 9下不行 (其实这个问题就出在 我昨天发的那个 GT grid demo里, 用opera9 打开后,表格菜单的最下面那项怎么点都没效果,因为菜单那项和后面的滚动条重合了 ) 后面附上简单的测试代码 请看看是怎么回事 谢谢了
今天无意间发现, IE和FF在取得页面元素的 client/offset/scroll + width/height 时,居然相当耗时. 大家可以下载我附件里的文件试一试. 文件代码如下, 大家注意看一下我里面的那段注释. 希望有朋友可以帮我解决这个疑问, 如果能提出优化方案更是感激不尽. <html> <head> <style type="text/css"> .gt-body { overflow: auto; width:500px; height:300px; } .gt-table { table-layout:fixed; } ...
GT-Template beta? ---- 作者 fins 这是一个简单小巧的 模板工具类, 用来帮助使用者快速的拼装出所需要的字符串. 简单说明: 模板中 #{ ... /} 之间的数据将被 作为js脚本执行, 而其中VAR关键字代表的就是 seed 的值(从外部传入的一个变化的值). 模板分成两部分来执行, compile 和 run. #{..../}之间的部分在run期间被执行, #{#...../} 之间的部分在编译期执行.编译期执行的代码中不能传入seed. 更多的说明也不用再写了,因为确实很简单的功能 呵呵. 原理: 实际上就是 利用传入的参数对 模板字符串中 #{ ...
这个帖子我会慢慢总结一些不足,欢迎大家补充,并即时更正我的错误 :). (这些不足如果在新版本里已经修正,我会标出.svn上的版本我不做考虑) 1 each方法无法break. 例子: 找出一个数组中的第一个偶数. var myarr=[1,2,3,15,5,21,22]; var rs=0; myarr.each(function(val,idx){ if (val%2 ==0 ) { rs=val; return ; //return不是我想要的,我想在这里方便快捷的结束each,咋办? } }); 目前我想到的是 使用 throw抛出一个异常,不知道各位还有更好的解决 ...
我为什么选择mootools,抛弃了prototype. (mootools 与 prototype 核心代码分析) =========================================== 前言 =========================================== 最近喜欢上了mootools(相见恨晚啊),在公开表示了对他的偏爱. 很多朋友都问我为什么要移情别恋,其实理由还是蛮多的. 今天在这里打算列举出一部分.让更多的朋友能够了解一下mootools,也希望有更多的朋友喜欢上他. 文章的标题注定了我会更多的讲述 mootools比prototy ...