Show a message if the browser is not internet explorer 9 or greater

后端 未结 10 1343
北恋
北恋 2020-12-31 01:18

I would like to show my users a bar that looks like this, if:

  1. Browser is not IE; or
  2. Browser is IE but is version 8 or earlier

10条回答
  •  醉话见心
    2020-12-31 01:44

    I found the question interesting. So i worked out a script for myself, but maybe someone else can benefit from it. So that's why I posted it as an answer. It returns an object with browser and OS information.

    browser = {};
    if (/edge\/[0-9]{2}/i.test(navigator.userAgent)) {
        browser.agent = "edge";
        browser.majorVersion = parseInt(/edge\/([0-9]{2})/i.exec(navigator.userAgent)[1]);
        browser.version = /edge\/([0-9.]+)/i.exec(navigator.userAgent)[1];
    } else if (/chrome\/[0-9]{2}/i.test(navigator.userAgent)) {
        browser.agent = "chrome";
        browser.majorVersion = parseInt(/chrome\/([0-9]{2})/i.exec(navigator.userAgent)[1]);
        browser.version = /chrome\/([0-9.]+)/i.exec(navigator.userAgent)[1];
    } else if (/firefox\/[0-9]{2}/i.test(navigator.userAgent)) {
        browser.agent = "firefox";
        browser.majorVersion = parseInt(/firefox\/([0-9]{2})/i.exec(navigator.userAgent)[1]);
        browser.version = /firefox\/([0-9.]+)/i.exec(navigator.userAgent)[1];
    } else if (/msie\ [0-9]{1}/i.test(navigator.userAgent)) {
        browser.agent = "msie";
        browser.majorVersion = parseInt(/MSIE\ ([0-9]{1})/i.exec(navigator.userAgent)[1]);
        browser.version = /MSIE\ ([0-9.]+)/i.exec(navigator.userAgent)[1];
    } else if (/opr\/[0-9]{2}/i.test(navigator.userAgent)) {
        browser.agent = "opera";
        browser.majorVersion = parseInt(/opr\/([0-9]{2})/i.exec(navigator.userAgent)[1]);
        browser.version = /opera\/([0-9.]+)/i.exec(navigator.userAgent)[1];
    } else if (/Trident\/[7]{1}/i.test(navigator.userAgent)) {
        browser.agent = "msie";
        browser.majorVersion = 11;
        browser.version = "11";
    } else if (/Safari\/[0-9.]+/i.test(navigator.userAgent)) {
        browser.agent = "safari";
        browser.majorVersion = parseInt(/Version\/([0-9]{2})/i.exec(navigator.userAgent)[1]);
        browser.version = /Version\/([0-9.]+)/i.exec(navigator.userAgent)[1];
    } else {
        browser.agent = false;
        browser.majorVersion = false;
        browser.version  = false;
    }
    
    if (/Windows\ NT/.test(navigator.userAgent)) {
        browser.os = "windows";
        var winver = parseFloat(/Windows\ NT\ ([0-9]{1,2}\.[0-9]{1})/i.exec(navigator.userAgent)[1]);
        switch(winver) {
        case 6.0:
            browser.osversion = "Vista";
            break;
        case 6.1:
            browser.osversion = "7";
            break;
        case 6.2:
            browser.osversion = "8";
            break;
        case 6.3:
            browser.osversion = "8.1";
            break;
        case 10.0:
            browser.osversion = "10";
            break;
        default:
            browser.osversion = false;
        }
    } else if (/OS\ X\ /.test(navigator.userAgent)) {
        browser.os = "os x"; // 
        browser.osversion = /OS\ X\ [0-9]{2}_([0-9]{1,2})_[0-9]{1,2}/i.exec(navigator.userAgent)[1];
    } else if (/(Linux)/.test(navigator.userAgent)) {
        browser.os = "linux";
        browser.osversion = false;
    }
    

提交回复
热议问题