`
love4J
  • 浏览: 72158 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Permission denied to access property 'dom' from a non-chrome context

    博客分类:
  • Ext
阅读更多
这几天在做Ext的时候,用firefug调试程序的时候老是提示错误,错误信息如下:

Permission denied to access property 'dom' from a non-chrome context

上网google了一下,中文的解析没找到,经过一番折腾,在一个老外的帖子里了解到一知半解。似乎只是firefug的的一个bug,3.5版本的火狐就会有这个问题,由于网络延迟的问题,dom就出现了问题。这个老外牛人也提供了解决办法,我拿过来,果真有效。解决方法如下:

Ext.override(Ext.Element, {
    contains: function() {
        var isXUL = Ext.isGecko ? function(node) {
            return Object.prototype.toString.call(node) == '[object XULElement]';
        } : Ext.emptyFn;

        return function(el) {
            return !this.dom.firstChild || // if this Element has no children, return false immediately
                   !el ||
                   isXUL(el) ? false : Ext.lib.Dom.isAncestor(this.dom, el.dom ? el.dom : el);
        };
    }()
});

复写Ext的Element方法就行了。
原文网址:http://stulog.com/?post=125

补充:我是加在了最前边,跟处理
Ext.BLANK_IMAGE_URL = "images/default/s.gif";一样
分享到:
评论
3 楼 别大号 2010-03-24  
我的firefox升至3.5版本后,也出现了这个问题,估计是浏览器的问题
所以有人直接catch掉这个异常了

覆写ext下的核心元素:element

Ext.override(Ext.Element,{
    contains : function(el){
        try {
            return !el ? false : Ext.lib.Dom.isAncestor(this.dom, el.dom ? el.dom : el);
        } catch(e) {
            return false;
        }
    }
})

参http://hi.baidu.com/feiruinet/blog/item/9cee9e34c178c2bcd1a2d3d4.html
2 楼 love4J 2009-11-20  
alwgerm 写道
刚好遇到次问题。。copy了。。。谢谢

这个在Ext2.x是有效果的,但是在Ext3.x还没找到好办法
1 楼 alwgerm 2009-11-20  
刚好遇到次问题。。copy了。。。谢谢

相关推荐

Global site tag (gtag.js) - Google Analytics