开源WebMail客户端Intouch2.2beta导致IE6崩溃的原因和修改方法
来源:互联网 发布:书网源码 编辑:程序博客网 时间:2024/05/16 19:36
单位用James+mySql+intouch2.2beta+Tomcat构建企业邮箱,使用IE6登录Intouch界面时会导致浏览器崩溃,IE6无显示退出,并弹出错误提示。搜索后发现原来是IE6的bug导致崩溃,常见的有六种情况会导致崩溃,“CSS教程:汇总让IE6崩溃的几种方法”这篇文章在网上被大量转载,随便就可以搜索到一大堆。分析Intouch的界面和出现错误的时机,可以判断错误应该属于第一种情况,即“设置scrollbar-base-color,css里给table做了定位,再通过js改变其定位IE6就崩溃了”。经过试验,产生这种崩溃错误需要一下三个条件:
1、定义CSS style,包括css文件或内嵌css,在其中html或body定义有scroll-xxxx-color属性定义的,如crollbar-base-color、scrollbar-highlight-color等等。我测试的结果是任何一种带有scroll color的属性设置都会导致错误。
2、一个DIV元素或Table元素用CSS文件或嵌入css或用元素的style属性设置了元素的绝对位置。
3、使用javascript脚本改变元素的原来位置值。
同时满足以上3个条件,就会导致IE6崩溃。
对于Intouch2.2来说,许多常用的css文件中都设置了scroll-xxxx-color属性,导致IE崩溃的是Intouch的常用选项设置layout。是一个ID为“preferences”的DIV元素,在all.css中设置了其固定位置为顶端-300px,在显示该元素时使用了免费的Rico组件,用方法rico.effect.position对该元素进行动态滑动显示,也就是不断改变该元素的显示位置,达到从顶端至下逐渐滑动显示的效果。也正是因为如此,导致上述三个条件都满足了,因此也就使IE6崩溃。注意到IE7修补了相关bug,不会崩溃。
修改的办法就是破坏上述3个条件中的任一个,经过权衡,我的修改办法是去掉滑动显示,让“preferences”直接固定在浏览窗口中间位置,只是显示和隐藏,不在滑动显示。修改的代码在layout.js中,修改showPreferences()、hidePreferences()方法即可。
- 开源WebMail客户端Intouch2.2beta导致IE6崩溃的原因和修改方法
- 开源Webmail客户端Claros inTouch2.2 Beta+James MailServer配置和调试
- 开源Webmail-Intouch2.2beta版部分汉字乱码的解决
- 导致vc程序崩溃的原因
- 导致ora-28000的原因及修改方法
- 前台--一个css冲突导致的ie6崩溃
- Solr 千万级大数据索引查询导致服务器崩溃的原因和解决
- 根据dmp文件查找到导致unity崩溃的原因
- 使用 IE7 beta 2 綠色版後無法恢復原本 IE6 的解決方法
- 修改MYSQL的innodb_log_file_size导致的MYSQL崩溃
- Unity3D将LOG输出成文件的方法和崩溃卡死原因
- Oracle中修改redo log size的原因和方法
- 【转载】APP常见崩溃原因和测试方法整理
- UIActionSheet buttonTitleAtIndex 方法导致程序崩溃的问题
- UIActionSheet buttonTitleAtIndex 方法导致程序崩溃的问题
- GCD导致死锁的原因和解决方案
- 网页崩溃的原因
- Timer定时器因修改系统时间导致挂起的原因
- 范进中举——我的公务员之路
- KMP字符串模式匹配详解
- asp.net+C# 服务器安装篇---分析器错误信息: 未能加载程序集 app_Web _**** 请确保在访问该页之前已经编译了此程序
- 随便写写
- ubuntu9.10下fcitx的安装与配置
- 开源WebMail客户端Intouch2.2beta导致IE6崩溃的原因和修改方法
- vim的配置文件
- 大型抽奖系统的实现
- 从打工者到公务员
- 李国杰教授如是说“努力践行‘重点跨越’的战略取向”
- Java EL系列-2.JUEL快速入门
- NSIS 使用指南
- “软芯片”畅想-基于Python的应用软件开发框架Softchip(一)
- 立此存照,万一哪天迈不过坎,回头看看