1. IE8中js不支持trim()方法
建议: 使用jQuery的$.trim()方法替换
2. IE8不兼容rgb(255,255,255,0.2)的样式
建议: IE不支持opacity属性,IE8 以及更早的版本支持替代的 filter 属性。例如:filter:Alpha(opacity=50);
针对IE8 background设置透明颜色方案:
filter:progid:DXImageTransform.Microsoft.gradient(startcolorstr=#3F000000, endcolorstr=#3F000000); 其中3F表示透明深度,FF无透明。
3. IE8获取body的width和height兼容问题
描述: document.body.clientWidth和document.body.clientHeight在IE8和IE9下都返回为0
建议: 改用document.body.clientWidth || document.documentElement.clientWidth和 document.body.clientHeight || document.documentElement.clientHeight来获取宽度和高度
参考备注1查看各个属性含义
4. IE8不支持background-size属性
5. IE浏览器针对application/json数据类型提示文件下载(包括IE11及以下版本都不支持)
解决方案:
方案一(未验证): 采用转换器处理
<bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
<property name="supportedMediaTypes" value="text/plain;charset=UTF-8" />
</bean>
方案二(未验证):使用HttpServletResponse对象设置ContentType头和内容信息
6. IE浏览器不支持forEach方法
解决方案:
可以考虑平常普通的for语句块替代或者用jQuery的forEach方法
7. IE8不支持Array的indexOf方法
解决方案: 在调用indexOf的前面增加如下代码:
// 处理IE8不兼容数组indexOf方法问题
if (!Array.prototype.indexOf) {
Array.prototype.indexOf = function(elt /*, from*/){
var len = this.length >>> 0;
var from = Number(arguments[1]) || 0;
from = (from < 0)
? Math.ceil(from)
: Math.floor(from);
if (from < 0)
from += len;
for (; from < len; from++)
{
if (from in this &&
this[from] === elt)
return from;
}
return -1;
};
}
8. IE11浏览器访问系统首页的时候会自动运行在兼容模式,导致页面变形
解决方案:
方案一(未验证): 手动修改IE设置
打开IE菜单->“工具”->“兼容性视图设置”->取消“在兼容性视图中显示Intranet站点”。 但是这样只能解决自己IE的问题,所以更好的方法如下。
方案二: 在html页面中<head>标签加入一条语句:
<meta http-equiv="X-UA-Compatible" content="IE=11;IE=10;IE=9; IE=EDGE" />
备注1:
网页可见区域宽: document.body.clientWidth
网页可见区域高: document.body.clientHeight
网页可见区域宽: document.body.offsetWidth (包括边线的宽)
网页可见区域高: document.body.offsetHeight (包括边线的高)
网页正文全文宽: document.body.scrollWidth
网页正文全文高: document.body.scrollHeight
网页被卷去的高: document.body.scrollTop
网页被卷去的左: document.body.scrollLeft
网页正文部分上: window.screenTop
网页正文部分左: window.screenLeft
屏幕分辨率的高: window.screen.height
屏幕分辨率的宽: window.screen.width
屏幕可用工作区高度: window.screen.availHeight
屏幕可用工作区宽度: window.screen.availWidth
元素的宽度
(包括元素宽度、内边距和边框,不包括外边距): offsetWidth
(包括元素宽度、内边距,不包括边框和外边距): clientWidth
(包括元素宽度、内边距和溢出尺寸,不包括边框和外边距): scrollWidth
scrollWidth在不溢出的情况,跟clientWidth相同
相对于带有定位的父盒子的x坐标:offsetLeft
相对于元素内部的偏移x坐标: offsetX
距离当前电脑屏幕的x坐标: screenX
距离body可视区域的x坐标: clientX
包含被卷去的body部分的长度: pageX