jquery检测浏览器版本问题

因为正在使用vue.js,低版本的浏览器不支持,所以我想用jquery检测用户的浏览器版本,用户浏览器版本过低就给予提示,我想这样:(我使用的jquery 3.1)

1、IE 11.x以下,chrome内核50以下,就提示浏览器版本过低。(360安全浏览器是chrome内核45.x,360极速浏览器是chrome内核50.x,50.x基本没什么问题,45.x有些问题)。其他浏览器因为使用较少,暂时不管。

2、提示的方式:alert可能会被关闭,所以不想用alert,但是document.write好像又不够明显,有什么不能关掉的alert那种方式么?

备注:百度了一下,有点眼花缭乱,有点失去判断力了,所以在这里再问一下,请大家给一点demo。

阅读 5.4k
1 个回答

IE10以下不支持jq3.1,你怎么判断呢?
一般都是显示一个div判断

var chrome = navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./);
if (chrome) {
  var chromeVersion = parseInt(chrome[2], 10);
//chrome浏览器 这里会输出chrome版本,自己判断下
} else {
  var ieVersion = detectIE();
  if (ieVersion !== false) {
    //ie浏览器 这里会输出ie版本,自己判断下
  } else {
    //其他浏览器
  }
}

function detectIE() {
  var ua = window.navigator.userAgent;

  // Test values; Uncomment to check result …

  // IE 10
  // ua = 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)';

  // IE 11
  // ua = 'Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko';

  // Edge 12 (Spartan)
  // ua = 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36 Edge/12.0';

  // Edge 13
  // ua = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Safari/537.36 Edge/13.10586';

  var msie = ua.indexOf('MSIE ');
  if (msie > 0) {
    // IE 10 or older => return version number
    return parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);
  }

  var trident = ua.indexOf('Trident/');
  if (trident > 0) {
    // IE 11 => return version number
    var rv = ua.indexOf('rv:');
    return parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);
  }

  var edge = ua.indexOf('Edge/');
  if (edge > 0) {
    // Edge (IE 12+) => return version number
    return parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);
  }

  // other browser
  return false;
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进