习惯了 Ext.getDoc().getViewSize() 以及 Ext.getDoc().getScroll() 获取浏览器窗口的一些信息,而这次用了下 Ext.getDoc().isScrollable() 发现并不是预期的结果 :可以查看浏览器是否有滚动条,看了下源码发现确实这个方法没有像前两个方法一样对document特殊处理,api 没有保持一致性,应该是不小心疏忽了
isScrollable : function(){ var dom = this.dom; return dom.scrollHeight > dom.clientHeight || dom.scrollWidth > dom.clientWidth; },
调整一下:
isScrollable : function(){ var d = this.dom, doc = document; if(d == doc || d == doc.body){ var scrollHeight=Ext.lib.Dom.getDocumentHeight(); var scrollWidth=Ext.lib.Dom.getDocumentWidth(); var clientHeight=Ext.lib.Dom.getViewportHeight(); var clientWidth=Ext.lib.Dom.getViewportWidth(); return scrollHeight > clientHeight || scrollWidth > clientWidth; } return d.scrollHeight > d.clientHeight || d.scrollWidth > d.clientWidth; },