var b_version = navigator.appVersion; var version = b_version.split(";"); var trim_Version = version[1].replace(/[ ]/g, "");//ie8 - 10【1】才是msie if (trim_Version.substring(0, 4) == "MSIE") { trim_Version = version[4].replace(/[ ]/g, "");//ie8 - 10 } else { trim_Version = version[2].replace(/[ ]/g, "");//ie11 只有ie11才是[2] } if (trim_Version.substring(0, 7) == "Trident") { if (event.currentTarget.attributes[0].ownerDocument.activeElement.menuCode == 'sjdp') {//只有ie8这样才能找到menuCOde alert('您用的是ie浏览器,建议用chrome浏览器打开'); } else if (event.currentTarget.attributes[0].ownerDocument.activeElement.attributes[3].nodeValue == 'sjdp') { //ie8以上这样才能找到menuCOde alert('您用的是ie浏览器,建议用chrome浏览器打开'); } }
但是苹果系统就有报错 最后就只判断内核就完事了
var b_version = navigator.appVersion; if (b_version.indexOf('Trident') > -1) { alert('您用的是ie浏览器,建议用chrome浏览器打开'); }
indexOf ie8判断字符串是可以的 数组的话需要兼容一下
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; }; }