Damiën Peerbolte
Damiën Peerbolte

Reputation: 57

JavaScript browser detection works but shows 'undefined' after

I have put the following code in my website to check which browser I'm in:

function myFunction() {
    if ((navigator.userAgent.indexOf("Opera") || navigator.userAgent.indexOf('OPR')) != -1) {
        document.write('Opera');
    } else if (navigator.userAgent.indexOf("Chrome") != -1) {
        document.write('Google Chrome');
    } else if (navigator.userAgent.indexOf("Safari") != -1) {
        document.write('Safari');
    } else if (navigator.userAgent.indexOf("Firefox") != -1) {
        document.write('Firefox');
    } else if ((navigator.userAgent.indexOf("MSIE") != -1) || (!!document.documentMode == true)) { //IF IE > 10
        document.write('IE (Internet Explorer)');
    } else {
        document.write('Browser Undefined');
    }
}
document.write(myFunction());

The code works fine. When I'm in Google Chrome, it show's the name but with the word 'undefined' next to the browser name.

Upvotes: 0

Views: 1015

Answers (2)

vertika
vertika

Reputation: 1424

You can write the code like

function myFunction() {
  var browser = "";
  if ((navigator.userAgent.indexOf("Opera") || navigator.userAgent.indexOf('OPR')) != -1) {
    browser = 'Opera'
  } else if (navigator.userAgent.indexOf("Chrome") != -1) {
    browser = 'chrome'
  } else if (navigator.userAgent.indexOf("Safari") != -1) {
    browser = 'Safar'
  } else if (navigator.userAgent.indexOf("Firefox") != -1) {
    browser = 'Foxy'
  } else if ((navigator.userAgent.indexOf("MSIE") != -1) || (!!document.documentMode == true)) { //IF IE > 10
    browser = 'MIS'
  } else {
    browser = 'Browser Undefined';
  }
  return browser;
}
document.write(myFunction());

Upvotes: 0

Munkhdelger Tumenbayar
Munkhdelger Tumenbayar

Reputation: 1874

function myFunction() {
    if ((navigator.userAgent.indexOf("Opera") || navigator.userAgent.indexOf('OPR')) != -1) {
        return 'Opera'
    } else if (navigator.userAgent.indexOf("Chrome") != -1) {
        return 'chome'
    } else if (navigator.userAgent.indexOf("Safari") != -1) {
         return 'Safar'
    } else if (navigator.userAgent.indexOf("Firefox") != -1) {
       return 'Foxy'
    } else if ((navigator.userAgent.indexOf("MSIE") != -1) || (!!document.documentMode == true)) { //IF IE > 10
        return 'MIS'
    } else {
       return document.write('Browser Undefined');
    }
}
document.write(myFunction());

Upvotes: 1

Related Questions