使用bootstrap3.x+bootstrap-datetime-picker插件,运行环境IE8,js报错,插件不能正确识别到时区

如上图,在某些IE8浏览器下会报错误,是因为某些IE8不能正确识别出时区,获得的时区是undefined

修改方案如下:

有些IE8不支持indexof方法的错误,解决方式是自己实现一个indexof方法。将以下代码添加到bootstap-datetimepicker.js的前面

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