Home Web Front-end JS Tutorial JS Detailed Example of Determining Browser Type and Version

JS Detailed Example of Determining Browser Type and Version

Jun 28, 2017 pm 02:48 PM
firefox ie javascript webkit judgment frame Browser

[javascript] view plain copy

Today JS is used to determine the browser type, so I organized it systematically to facilitate later use.

[javascript] view plain copy

/*

* Description: Determine browser information

* Written by: LittleQiang_w

* Date: 2016.1.5

* Version: V1.1

*/

// Determine the current browsing type

function BrowserType()

{

var userAgent = navigator.userAgent; //Get the browser’s userAgent string

var isOpera = userAgent.indexOf( "Opera") > -1; //Determine whether the Opera browser is the browser

var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera; //Determine whether it is IE browser

var isEdge = userAgent.indexOf("Windows NT 6.1; Trident/7.0;") > -1 && !isIE; //Determine whether it is IE's Edge Browser

var isFF = userAgent.indexOf("Firefox") > -1; //Determine whether Firefox browser

var isSafari = userAgent.indexOf("Safari") > -1 && userAgent.indexOf("Chrome") == -1; //Determine whether Safari browser

var isChrome = userAgent.indexOf("Chrome") > -1 && userAgent.indexOf(" Safari") > -1; //Determine the Chrome browser

if (isIE)

{

var reIE = new RegExp(" MSIE (\\d+\\.\\d+);");

reIE.test(userAgent);

var fIEVersion = parseFloat(RegExp["$1"]);

                                                                                                                                                         ​} 

                                                                                                                                                                                                                         "IE10";}

else if(fIEVersion == 11)

{ return "IE11";}

else

{ return "0" }//IE version is too low }

}//isIE end

) { return "Opera";}

if (isSafari) { return "Safari";}

if (isChrome) { return "Chrome";}

if (isEdge) { return "Edge";}

}//myBrowser() end

//Determine whether it is an IE browser

function isIE()

{

var userAgent = navigator.userAgent; //Get the browser's userAgent string

var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera; //Determine whether it is an IE browser

if(isIE)

{

return "1";

else }

#          return "-1";   

                                                                                                                                   Including Edge browser

function IEVersion()

{

var userAgent = navigator.userAgent; //Get the browser’s userAgent string

var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera; // Determine whether IE browser

var isEdge = userAgent.indexOf ("Windows NT 6.1; Trident/7.0;") > -1 && !isIE; // Determine if IE is an Edge browser

if(isIE)

{

VAR Reie = New Regexp ("msie (\\ d+\\. \\ d+);");

## Reie.test (useragent);

var footVersion = PARSEFLOAT (regexp ["$1"]);

if(fIEVersion == 7)

{ return "IE7";}

else if(fIEVersion == 8)

{ return "IE8";}

else if(fIEVersion == 9)

{ return "IE9";}

else if(fIEVersion ==10 )

{ return "IE10";}

else if(fIEVersion == 11)

{ return "IE11";}

else

                                                                                                                                                         ";

}

else

{

return "-1";//Non-IE

}

}

The above code passed the test and is available!

But there is a problem, that is, IE5 and IE7 browsers cannot be distinguished for the time being. The following is the information of userAgent under IE5 and IE7; through userAgent, it is found that IE5 and IE7 cannot be correctly distinguished by simply using the above method. Looking forward to the solution to this problem! ! !

IE5: userAgent "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; InfoPath.2; .NET4.0E)"

IE7: userAgent "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/7.0; SLCC2; . NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; InfoPath.2; .NET4.0E)"

The above is the detailed content of JS Detailed Example of Determining Browser Type and Version. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to achieve gap effect on the card and coupon layout with gradient background? How to achieve gap effect on the card and coupon layout with gradient background? Apr 05, 2025 am 07:48 AM

Realize the gap effect of card coupon layout. When designing card coupon layout, you often encounter the need to add gaps on card coupons, especially when the background is gradient...

How to correctly display the locally installed 'Jingnan Mai Round Body' on the web page? How to correctly display the locally installed 'Jingnan Mai Round Body' on the web page? Apr 05, 2025 pm 10:33 PM

Using locally installed font files in web pages Recently, I downloaded a free font from the internet and successfully installed it into my system. Now...

Why does negative margins not take effect in some cases? How to solve this problem? Why does negative margins not take effect in some cases? How to solve this problem? Apr 05, 2025 pm 10:18 PM

Why do negative margins not take effect in some cases? During programming, negative margins in CSS (negative...

How to customize the resize symbol through CSS and make it uniform with the background color? How to customize the resize symbol through CSS and make it uniform with the background color? Apr 05, 2025 pm 02:30 PM

The method of customizing resize symbols in CSS is unified with background colors. In daily development, we often encounter situations where we need to customize user interface details, such as adjusting...

How to use CSS and Flexbox to implement responsive layout of images and text at different screen sizes? How to use CSS and Flexbox to implement responsive layout of images and text at different screen sizes? Apr 05, 2025 pm 06:06 PM

Implementing responsive layouts using CSS When we want to implement layout changes under different screen sizes in web design, CSS...

How to obtain real-time application and viewer data on the 58.com work page? How to obtain real-time application and viewer data on the 58.com work page? Apr 05, 2025 am 08:06 AM

How to obtain dynamic data of 58.com work page while crawling? When crawling a work page of 58.com using crawler tools, you may encounter this...

What is the reason for encoding exceptions when using the request library to get HTML text in Node.js? How to solve it? What is the reason for encoding exceptions when using the request library to get HTML text in Node.js? How to solve it? Apr 05, 2025 am 07:03 AM

The reason and solution for coding exceptions when using the request library to obtain HTML text content in the Node.js environment. During the development process of using Node.js, it is often necessary to...

See all articles