IE兼容问题及Edge中IE调试

兼容问题

input无法选中(IE8)

IE8下设置input的background:none或者background-color:transparent 会导致input框无法选中

解决办法:老老实实设置背景色吧或者设置个透明背景图片

数组没有indexOf方法(IE8)

在调用indexOf前添加以下代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
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;
};
}

js不执行(IE9以下)

IE9以下是没有console的,因此js中如果有console那么只有F12进行调试时代码才能正常运行
解决方法:删除或注释掉所有的console

调试

打开运行框:Windows+R

输入:

1
%systemroot%\system32\f12\IEChooser.exe