判断浏览器并提示低版本升级

function judgetBrowser () {

        var _browser = {}

        var _browserWarningMsg = ''

        var userAgent = navigator.userAgent.toLowerCase()  // 取得浏览器的userAgent字符串

        var isOpera = userAgent.indexOf('opera') > -1 // 判断是否Opera浏览器

        var isIE = userAgent.indexOf('compatible') > -1 && userAgent.indexOf('msie') > -1 && !isOpera // 判断是否IE浏览器

        var isEdge = userAgent.indexOf('windows nt 6.1; trident/7.0;') > -1 && !isIE // 判断是否IE的Edge浏览器

        var isFF = userAgent.indexOf('firefox') > -1 // 判断是否Firefox浏览器

        var isSafari = userAgent.indexOf('safari') > -1 && userAgent.indexOf('chrome') === -1 // 判断是否Safari浏览器

        var isChrome = userAgent.indexOf('chrome') > -1 && userAgent.indexOf('safari') > -1 // 判断Chrome浏览器

if (isOpera) {

      // 首先检测Opera是否进行了伪装

      if (navigator.appName === 'Opera') {

        // 如果没有进行伪装,则直接后去版本号

        _browser.version = parseFloat(navigator.appVersion)

      } else {

        var reOperaVersion = new RegExp('opera (\\d+.\\d+)')

        // 使用正则表达式的test方法测试并将版本号保存在RegExp.$1中

        reOperaVersion.test(userAgent)

        _browser.version = parseFloat(RegExp['$1'])

      }

      _browser.name = 'opera'

    } else if (isIE) {

      var reIE = new RegExp('msie (\\d+\\.\\d+);')

      reIE.test(userAgent)

      _browser.version = parseFloat(RegExp['$1'])

      _browser.name = 'IE'

      if (_browser.version < 9) {

        _browserWarningMsg = '<div style="color:red; font-size:30px;text-align:center;margin-left:auto; margin-right:auto;">' +

              '<div style="width:100%; height:50px">1、推荐使用' +

                "<a href='http://www.cnic.cn/front/index.html#/cnicSite/article/7aaeda68133ac88415491bd7e0e46d6b'>ARP客户端</a>" +

              '</div>' +

              '或者' +

              '<div style="width:100%; height:50px;">2、升级IE浏览器到' +

                "<a href='https://support.microsoft.com/zh-cn/help/17621/internet-explorer-downloads'>IE11</a></br>" +

              '</div>' +

              '<div style="font-size:20px; text-align:left;">注意:' +

                '<p style="color:red; font-size:20px;">如果您安装的IE浏览器为IE9及以上,请按F12检查默认值是否被设置为IE9以下。该问题通常是在IE兼容性视图设置*.arp.cn引起</p>' +

                '<p style="color:red; font-size:20px;">如果您使用的是360浏览器,请使用ARP客户端或升级IE浏览器到IE11</p>' +

              '</div>' +

              '</div>'

        warningBrowser(_browser, _browserWarningMsg)

      } else { warningDocumentMode() }

    } else if (isEdge) { // 17版本及以上

      var regEdge = new RegExp('edge/(\\d+)')

      regEdge.test(userAgent)

      _browser.version = parseFloat(RegExp['$1'])

      _browser.name = 'Edge'

      if (_browser.version < 17) {

        _browserWarningMsg = 'Edge版本过低,请升级到Edge17及以上版本'

      }

    } else if (isFF) { // 60及以上

      var regff = new RegExp('firefox/(\\d+\\.\\d+)')

      regff.test(userAgent)

      _browser.version = parseFloat(RegExp['$1'])

      _browser.name = 'Firefox'

      if (_browser.version < 60) {

        _browserWarningMsg = 'Firefox版本过低,请升级到Firefox60及以上版本'

      }

    } else if (isSafari) { // 11.1及以上

      var regSaf = new RegExp('safari/(\\d+)')

      regSaf.test(userAgent)

      _browser.version = parseFloat(RegExp['$1'])

      _browser.name = 'Safari'

      if (_browser.version < 11) {

        _browserWarningMsg = 'Safari版本过低,请升级到Safari11及以上版本'

      }

    } else if (isChrome) { // 49及以上

      var reChorme = new RegExp('chrome/(\\d+)')

      reChorme.test(userAgent)

      _browser.version = parseFloat(RegExp['$1'])

      _browser.name = 'Chrome'

      if (_browser.version < 49) {

        _browserWarningMsg = 'Chrome版本过低,请升级到Chrome49及以上版本'

        warningBrowser(_browser, _browserWarningMsg)

      }

    }

  }

  function warningBrowser (browser, msg) {

    document.write('<div style="height:800px; background-color:#e8ebf1">')

    document.write('<div class="warnning-header">')

    document.write('<div class="warnning-header-background"></div>')

    document.write('<div class="warnning-header-font">中科院ARP系统</div>')

    document.write('</div>')

    document.write('<div class="warnning-content">')

    document.write('当前浏览器:' + browser.name + browser.version)

    document.write('<br />')

    document.write('新一代ARP系统不支持该浏览器<br/><br/>')

    document.write(msg)

    document.write('</div>')

    document.write('</div>')

    var appId = document.getElementById('app')

    appId.parentNode.removeChild(appId)

    document.execCommand('Stop')

  }

  function warningDocumentMode () {

    if (document.documentMode < 9) {

      document.write('当前浏览器文档模式:' + document.documentMode)

      document.write('<br />')

      document.write('<span style="color:red">浏览器设置的文档模式过低,请设置为Internet Explorer 9标准及以上版本</span>')

      document.write('<br />')

      document.write('<span style="color:red;font-size:20px;">建议:请按F12,修改当前文档模式为Internet Explorer 9标准及以上模式</span>')

    }

  }

  judgetBrowser()

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,294评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,493评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,790评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,595评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,718评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,906评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,053评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,797评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,250评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,570评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,711评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,388评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,018评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,796评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,023评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,461评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,595评论 2 350

推荐阅读更多精彩内容

  • "use strict";function _classCallCheck(e,t){if(!(e instanc...
    久些阅读 2,028评论 0 2
  • 北京2018年4月1日上午,NBA常规赛勇士客战国王的比赛中,发生了令人痛心不已的一幕。比赛进行到第三节还有41...
    Curry_宇阅读 1,176评论 1 1
  • 100个常用的javascript函数 1、原生JavaScript实现字符串长度截取 复制代码代码如下: fun...
    老头子_d0ec阅读 353评论 0 0
  • 第1章 认识JS JavaScript能做什么?1.增强页面动态效果(如:下拉菜单、图片轮播、信息滚动等)2.实现...
    mo默22阅读 1,252评论 0 5
  • 1、判断浏览器类型 var Sys = {}; var ua = navigator.userAgent....
    yiqian091阅读 337评论 0 0