主题: 3.5.1 拖动编辑器的下边框来改变它的大小时,怎么发现变卡了? |
作者: wangjinkun, 发布日期: 2010-07-20 10:22:51, 浏览数: 5713 |
疑问:我拖动编辑器的下边框来改变它的大小时,怎么发现变卡了,没有3.5或3.4.x版本平滑流畅???我用的IE7,在火狐下是正常的!
|
作者: Roddy, 发布日期: 2010-07-20 10:31:07 |
IE6上确实比较卡,我检查一下原因。
|
回复 |
作者: wangjinkun, 发布日期: 2010-07-21 08:19:07 |
不知楼主发现了什么问题没?为什么之前的版本没这个现象?我关注了快一天了!!!
|
回复 |
作者: Roddy, 发布日期: 2010-07-21 10:25:32 |
3.5.1拖动小图标改用css,原来是用td的align属性的,可能和这个有关。
|
回复 |
作者: wangjinkun, 发布日期: 2010-07-21 11:54:18 |
那能不能改回来?怎么改??
|
回复 |
作者: Roddy, 发布日期: 2010-07-21 13:11:20 |
找到原因了,原因是改变大小时js执行的太快,IE来不及刷新页面。这个问题真的很雷人,优化了代码在IE下反而出现问题。解决方案是KE.util.resize里的g.container.style.height = height;上面加入以下代码就可以。 if (KE.browser.IE) { //improve IE performance (issue #126) g.toolbarTable && g.toolbarTable.offsetHeight; } 修改后的resize方法 resize : function(id, width, height, isCheck, isResizeWidth) { isResizeWidth = (typeof isResizeWidth == "undefined") ? true : isResizeWidth; var g = KE.g[id]; if (!g.container) return; if (isCheck && (parseInt(width) <= g.minWidth || parseInt(height) <= g.minHeight)) return; if (isResizeWidth) g.container.style.width = width; if (KE.browser.IE) { //improve IE performance (issue #126) g.toolbarTable && g.toolbarTable.offsetHeight; } g.container.style.height = height; var diff = parseInt(height) - g.toolbarHeight - g.statusbarHeight; if (diff >= 0) { g.iframe.style.height = diff + 'px'; g.newTextarea.style.height = (((KE.browser.IE && KE.browser.VERSION < 8) || document.compatMode != 'CSS1Compat') ? diff - 2 : diff) + 'px'; } }, |
回复 |
作者: Roddy, 发布日期: 2010-07-21 13:14:51 |
回复 |
作者: wangjinkun, 发布日期: 2010-07-21 14:43:20 |
版主辛苦了。在右下角进行对角拖动已经解决问题了,可是在编辑器的下边框中间处,进行竖直方向拖动还是卡! |
回复 |
作者: Roddy, 发布日期: 2010-07-21 15:18:55 |
修改以后我这里没问题,IE6。 是不是编辑器下面还有其它内容?因为编辑器高度有变化,浏览器要重新画编辑器下面的内容。 |
回复 |
作者: wangjinkun, 发布日期: 2010-07-21 15:33:51 |
谢谢!编辑器下面是有其它内容,可是一个页面上不可能只单纯放一个编辑器的!希望版主有空再研究一下!!!
|
回复 |