下面是项目中常见的ie6问题,记录一下,以备不时之需。
日期框不显示,表现为页面的日期框点击无反应
原因:日期控件WdatePicker跨域设置问题。
解决方法:WdatePicker.js将$crossFrame:true修改为false,清理缓存。页面不能正常跳转,表现为页面中文件不能下载或者跳转动作没有执行
原因:ie6对window.open(url)支持度不好。
解决方法:改用window.location.href实现跳转,即将window.open(url)改为window.location.href=url。页面版面错乱
原因:ie6的css盒模型与高版本ie不太一致,造成本来在ie8中正常的页面在ie6下显示错乱。
解决方法:进行css hack,通常方法有两种,
一是特殊写法
.color{
background-color: #CC00FF; /*所有浏览器都会显示为紫色*/
background-color: #FF0000\9; /*IE6、IE7、IE8会显示红色*/
*background-color: #0066FF; /*IE6、IE7会变为蓝色*/
_background-color: #009933; /*IE6会变为绿色*/
}
二是条件注释语句
<!-–[if IE 6]>
此处内容只有IE6.0可见
<![endif]–->
<!--[if gte IE 7]>
IE7以及IE7以上版本可识别
<![endif]-->
jsp中的js不加载,表现为js中的一些效果没有在页面中显示出来
原因:jsp与js的编码不一致,比如jsp是utf-8,js为gbk,在高版本ie中,浏览器会自动将二者编码转为一致,ie6中不会自动完成。
解决方法:使用editplus等编辑器将二者编码调为一致。页面卡死
原因:css star: expression onmouseover这样的写法,将会导致在ie6下死循环造成网页卡死。
解决方法:将start:expression这种事件写法改为纯js实现,即
<button id="ok" onclick="btn_ok_onclick()" onmouseover="btn_mouseover(this)" onmouseout="btn_mouseout(this)">确 定</button>