http://www.terrainformatica.com/ 提供了免费的HTML嵌入引擎,包括对HTML、CSS和脚本的支持。 它有许多有趣的地方。 一个是号称为嵌入式场景做过特别优化,性能超过以嵌入式闻名的Opera。 除了应用前景外,我特别感兴趣的是它对现有Web技术的一些扩展和思索。 因为是从引擎开发者的角度探索,而且他不像Webkit、Gecko那样,没有 负担,所以可以更大胆的引入许多尝试。 比如HTML语法,可以这样: <body> <div .header /> <div #sidebar > <div .panel ...
2008-05-09

西方人通常发现不了的一个IE的bug

关键字: ie focus bug
这个问题我大概在一年多以前在某个用到VML的页面中(当时倒是记录了VML的一个严重问题)首次发现了这个Bug。经过一番狗狗之后,也未发现有同样的报告。后来我又逐渐在几种其他非VML的情形下重现了这个奇异的Bug。经过一番探究,我大致推断出了这个bug的原因。不过我一直没有公开发布过这个有趣的问题,只是跟少数同事提到过它。这个bug有个有趣的特点,就是西方人通常不会碰到这个bug。 最近,真懒同学(realazy)在《认识延迟时间为 0 的 setTimeout》一文中举例说明setTimeout的用途。代码大意如下: $('myButton').onmousedown = functio ...
Ajax in Practice 中写道: With the sleight-of-hand tricks that Prototype provides us for declaring JavaScript object classes... 译成:Prototype赐予了我们魔术手法般的技巧来声明JavaScript对象类。 不过这个书里写的是Prototype 1.5.x的版本。其给出的示例中,父类必须在initialize方法中再调用一个_initSuperclass方法,因为子类的initialize会覆盖父类的,但又需要调用父类的初始化方法,所以就必须写一个_initSup ...
本篇只记录一下工具,有空再做研究。 Drip: http://outofhanwell.com/ieleak/index.php?title=Main_Page 微软自己的:http://blogs.msdn.com/gpde/pages/javascript-memory-leak-detector.aspx 待研究课题: 结合使用JavaScript和VBScript所产生的memory leak的风险是否可以化解,如何化解?VBScript如果只调用JavaScript函数是否不会产生循环引用,并不可能出现memory leak? IE7下的表现如何? HTC的memory ...
前篇见批量修改style采取哪种方式好,主要是回答fins的提问。 下面我来说说我们实际期望怎样的编程方式。 假设一个这样的需求: 页面上有一些文本是highlight的。例如,javaeye的文章如果是点击google搜索结果过来的,javaeye的后台会自动判断出关键字,并为这些关键字包裹上标记(<span class="hilite1">关键字</span>)。 我们现在希望有这样一个功能,就是允许开启/关闭highlight。 如果关闭的话,那么大家通常可以想到的做法,就是检索所有的.hilite1的元素,然后去掉这个class。 $('span.hilite1 ...
2008-02-24

XBL2的实现

关键字: xbl
今天发现几种XBL2的实现。浏览器实现XBL2还要等上一段时间,但是JS实现已经有了。 备忘如下:http://meekostuff.net/xbl2/。上面包括另两种实现的链接。其中包括一个Google的实现,但是目前似乎源代码还没有放出来。 有兴趣的同志可看看。XBL2会是一个很重要的东西。它将是未来正牌的组件实现方式。dojo、ext之类的将来应该会改到XBL2上。
fins同志向我提了个问题。因这个问题其实可以展开讨论,所以提出来大家共同探讨。 fins 写道 在同类元素 例如 td 很多的情况下, "一次性改变元素的class对应的styleSheet" 和 "在循环里改变每一个元素style" 哪个更好 ext的代码不知道你看过没 在ext 1 里 改变表格列宽的方式 就是用的 改变那一列的 td对应的class里的 width 而ext 2里变成了 用循环 依次改变每一个 td的style.width 两种方法哪个好呢? 我一直喜欢第一种 不过实在不明白为什么 ext 2里换了方式 对于这一问题,我的意见是,就这个个例来说,两种方式都不好 ...
DOM event flow有三个phase,capture、target和bubble。通常我们只在后两个阶段处理事件,也即在调用addEventListener(type, listener, useCapture)时,useCapture设为false。偶尔可能会使用所谓捕获事件监听器(Capturing Event Listeners),即useCapture设为true。但有一个很搞的问题,那就是在event.currentTarget等于event.target的时候(即event flow处于target phase时),是否会调用添加到currentTarget上的useCap ...
最近想在一个小应用中采用浏览器端的xinclude。找了一下,居然没有找到现成的实现。所以就打算自己写一个。 完整的xinclude实现也需要用到一些其它技术。最基本的就是xml base。 在html中你的链接如果不是absolute url形式,就需要相对于文档位置或者文档中用base元素定义的base url来resolve。 xml base和html的base有点类似,但是更加灵活,通过xml:base属性而不是单独一个属性来设置,所以可以有层次。例如: <?xml version="1.0"?> <doc xml:base="http://example. ...
2007-11-07

MSXML默认解析外部DTD

关键字: DOM resolveExternals
昨日aimingoo说它测试xmldom的速度,发现载入一个wml的时候,费时不可思议的长,且用时不等。甚觉不解。故测之。 测试过程和书写代码略,就简述结论如下。 WML文件有DOCTYPE,上带有DTD声明。怀疑是去读取DTD文件所致。删除整个DOCTYPE声明,果然就好了。 但是程序每次删除DOCTYPE显然不可行,因为这样一个操作无法作为DOM操作(因为当时DOM尚未解析出来),而必须进行字符串处理,这样就不能直接load了。如此hack无论如何无法接受。 于是寻找正途,即msxml上的参数配置。经过狗狗,得到最终方案: var xmldoc = new ActiveXOb ...
2007-09-19

基于Ajax技术的VNC

关键字: VNC
http://sourceforge.net/projects/ajaxvnc/ 虽然从原理上看,它的效率和实用价值都很低,但是创意确实很棒也!
Javaeye论坛又谈到红岗同志了:http://www.javaeye.com/topic/110484 我就去看了一下OperaMasks的网站,看到了红岗和张勇的《勇敢者的新世界》。以下是我的comment。 看了前面的历史回顾,写得不错,我本对后面的java web framework部分充满希望,不料,第4节居然就寥寥几句,java世界如此多的开源和商业的web framework,居然作者提都未提,只说了servlet/jsp和古老的struts,连ASP.NET的描述也比它多。难道作者认为所有的读者都还停留在2001年?我看读者没有“审美疲劳”,是作者“记忆疲劳”了。 我不 ...
本文是针对http://www.javaeye.com/topic/103313的回复。 池增加了代码复杂度,反而可能降低效率。我估计,native的new XMLHttpRequest肯定应比你的池要高效。只有IE6,因为是创建一个AcitveX对象,可能较为低效。但是这种效率提高到底有多少?非常值得怀疑。 事实上,对象池技术在多数场合并无必要,例如在java中,只有重量级资源对象,或者反复创建相同的对象并可能影响性能,才会使用对象池。 而在js里面: 1. js对象只是XHR的wrapper,纯粹new一个js对象的开销不会比你复杂的池要大,只会小。 2. XHR自己可能存在优化。 ...
2007-07-05

Comet和REST是否有冲突?(兼REST辩论之观感)

关键字: REST, Comet, HTTP, Architecture
这两天看了激烈讨论的帖子http://robbin.javaeye.com/blog/82227,其中辩论双方都谈到Fielding的名言:HTTP不是Transport protocol(这个其实比较难理解的,主要是俺们英文差,不能区别Transfer和Transport的差别)。 抛开这个已经被锁定而无法继续回帖的帖子不谈,我就想到了Comet,按照我的理解,Comet就是利用HTTP来作Transport……而这样不是不符合REST了? 最后我再此谈一点对前面这个辩论的观感。偶本人对于分布式的理解是很浅薄的。但是我发现在后期的讨论中,其中一方因名责实。 其实Fielding同志作为H ...
2007-07-02

IE模拟W3C事件模型的困难之处

关键字: DOM Event
原帖出自 http://www.javaeye.com/topic/87329 的讨论。 legend 写道我估计楼主是要在IE里模拟 capture,以楼主的 js 功力,模拟 capture 是轻而易举的! 模拟capture并非不可能,但是非常的麻烦。不是有js功力就一定可以搞定的。 比如,capture必须保持与bubble一个合理的触发顺序,你必须保证一个事件在dom树上完成所有注册的capture事件,然后再bubble。这点就非常头大了。例如我在div上capture一个click事件,我可以实际上先attach一个,但是我要保证在这个div上bubble的事件函数必须在c ...
问题篇 ====== 我虚构了一个股票应用页面,在这个页面上,用户可以看到他持有的多个市场的股票、基金等的当前价格,并可以看到他在每个市场持有的股票总市值,以及合计的总市值。 大体如下例: 沪市A股 ------------------------------------------- 名称 代码 最新价 持股数 市值 ------------------------------------------- 招行CMP1 580997 0.634 15000 9510.00 华电能源 600726 7.25 2000 ...
2008年3月更新: 本系列由于某些原因没有继续完成,可能等过一段时间再完成。 http://qiezi.javaeye.com/blog/163182的comments中提到的async_call与这里的思路有类似之处,虽然那是在讨论ErLang。 众所周知,AJAX虽然提高了用户体验,并提出了一种创新的web应用架构模式,但是也带来了一个问题,就是异步编程非常复杂。 单纯一个异步XHR调用或许还不算什么,但当多个XHR交织的时候,复杂性就指数级上升。例如,考虑这样一个人造的例子: 一个股票页面(带劲吧?) 首先从一个数据源读取当前用户所持有的股票种类和数量。 然后读取这些股票 ...
hax
搜索本博客
存档
最新评论