Freewind @ Thoughtworks scala java javascript dart 工具 编程实践 月结 math python english [comments admin] [feed]

(2011-12-30) Extjs2.2 在IE9下的BUG修复

广告: 云梯:翻墙vpn (省10元) 土行孙:科研用户翻墙http proxy (有优惠)

今天使用Extjs2.2写了一个例子,在IE9下显示不正常,表现为要么页面上完全空白,要么用鼠标拖动窗口时,窗口没办法停下来,一直跟着鼠标跑。在控制台上报这个错误:

错误: 对象不支持“createContextualFragment”属性或方法

经过搜索,发现也有其它人报这个问题。

Extjs2.2版本比较老,那个时候IE9还没出来,而且IE系列总喜欢出点什么奇怪的问题。

图就不截了,这里贴个解决方法。出处见:

https://github.com/netProphET/revolution/commit/f3ec1708965aa82f8f9e824bc6b5b5d054e1193d

代码如下:

if ((typeof Range !== “undefined”) && !Range.prototype.createContextualFragment) {

Range.prototype.createContextualFragment = function(html) {       
    var frag = document.createDocumentFragment(), div = document.createElement("div");       
    frag.appendChild(div);       
    div.outerHTML = html;       
    return frag;       
};       

}

只要在html页面的最前面把这段代码加上,就一切正常了。

comments powered by Disqus