FF, Chrome, IE, Opera 및 Safari에 5 개의 애드온 / 확장 프로그램이 있습니다.
사용자 브라우저를 인식하고 설치 단추를 클릭 한 후 해당 애드온을 다운로드하도록 리디렉션하려면 어떻게해야합니까?
FF, Chrome, IE, Opera 및 Safari에 5 개의 애드온 / 확장 프로그램이 있습니다.
사용자 브라우저를 인식하고 설치 단추를 클릭 한 후 해당 애드온을 다운로드하도록 리디렉션하려면 어떻게해야합니까?
답변:
브라우저의 안정적인 검색을위한 인터넷 검색은 종종 사용자 에이전트 문자열을 확인합니다. 이 방법은 이 값을 스푸핑하는 것이 쉽지 않기 때문에 신뢰할 수 없습니다 . duck-typing하여
브라우저를 감지하는 방법을 작성했습니다 .
확장 기능을 설치하기위한 브라우저 별 지침을 표시하는 등 브라우저 검색 방법이 꼭 필요한 경우에만 사용하십시오. 가능하면 기능 감지를 사용하십시오.
데모 : https://jsfiddle.net/6spj1059/
// Opera 8.0+
var isOpera = (!!window.opr && !!opr.addons) || !!window.opera || navigator.userAgent.indexOf(' OPR/') >= 0;
// Firefox 1.0+
var isFirefox = typeof InstallTrigger !== 'undefined';
// Safari 3.0+ "[object HTMLElementConstructor]"
var isSafari = /constructor/i.test(window.HTMLElement) || (function (p) { return p.toString() === "[object SafariRemoteNotification]"; })(!window['safari'] || (typeof safari !== 'undefined' && safari.pushNotification));
// Internet Explorer 6-11
var isIE = /*@cc_on!@*/false || !!document.documentMode;
// Edge 20+
var isEdge = !isIE && !!window.StyleMedia;
// Chrome 1 - 79
var isChrome = !!window.chrome && (!!window.chrome.webstore || !!window.chrome.runtime);
// Edge (based on chromium) detection
var isEdgeChromium = isChrome && (navigator.userAgent.indexOf("Edg") != -1);
// Blink engine detection
var isBlink = (isChrome || isOpera) && !!window.CSS;
var output = 'Detecting browsers by ducktyping:<hr>';
output += 'isFirefox: ' + isFirefox + '<br>';
output += 'isChrome: ' + isChrome + '<br>';
output += 'isSafari: ' + isSafari + '<br>';
output += 'isOpera: ' + isOpera + '<br>';
output += 'isIE: ' + isIE + '<br>';
output += 'isEdge: ' + isEdge + '<br>';
output += 'isEdgeChromium: ' + isEdgeChromium + '<br>';
output += 'isBlink: ' + isBlink + '<br>';
document.body.innerHTML = output;
이전 방법 렌더링 엔진 (의 특성에 의존 -moz-box-sizing
하고 -webkit-transform
) 브라우저를 검출한다. 이러한 접두사는 결국 삭제되므로 검색을 더욱 강력하게하기 위해 브라우저 별 특성으로 전환했습니다.
document.documentMode
.StyleMedia
생성자를 노출합니다 . 트라이던트를 제외하면 Edge가 남습니다.InstallTrigger
chrome
문서화 된 chrome.webstore
객체를 포함하여 여러 속성이 포함 된 전역 객체입니다.chrome.webstore
최신 버전에서는 업데이트 3 이 더 이상 사용되지 않고 정의되지 않았습니다.SafariRemoteNotification
버전 7.1 이후에 도입 된을 (를) 확인하여 3.0 이상의 모든 Safari를 포함합니다.window.opera
수년간 존재했지만 Opera가 엔진을 Blink + V8 (Chromium에서 사용)로 교체하면 삭제 됩니다. chrome
객체가 정의되지만 chrome.webstore
그렇지 않습니다. Opera는 Chrome 복제를 시도하기 때문에이 목적으로 사용자 에이전트 스니핑을 사용합니다.!!window.opr && opr.addons
를 감지하는 데 사용할 수 있습니다 .CSS.supports()
을 켠 후 깜박임에 도입되었습니다. 물론 오페라에서 사용되는 것과 같은 깜박임입니다.9.1.3 이상의 Safari 브라우저 감지 기능을 포함하도록 2016 년 11 월에 업데이트되었습니다.
크롬, 파이어 폭스 IE 및 엣지에서 최신의 성공적인 테스트를 업데이트하기 위해 2018 년 8 월에 업데이트되었습니다.
크롬 감지를 수정하고 (window.chrome.webstore 지원 중단으로 인해) Chrome에서 최신의 성공적인 테스트를 포함하도록 2019 년 1 월에 업데이트되었습니다.
Chromium 감지 (@Nimesh 주석 기반)를 기반으로 Edge를 추가하도록 2019 년 12 월에 업데이트되었습니다.
window.chrome.webstore
정의되지 않은 Chrome 확장 프로그램에서는 작동하지 않습니다 . Firefox 확장 프로그램으로 확인하지 않았습니다. is.js
다른 곳에서 언급 한 것은 Chrome 및 Firefox 확장 모두에서 작동합니다.
isSafari
Safari 10에서는 작동하지 않습니다. 나는 이것이 나쁜 해결책이라고 주장 할 것입니다 (좋은 것이 아닙니다). 확인한 사항이 제거되지 않거나 다른 브라우저에서 추가되지 않을 것이라는 보장은 없습니다. Safari를 확인하기 위해이 코드를 사용하는 모든 사이트는 macOS Sierra 또는 Safari 10 업그레이드로
isSafari
작동하지 않습니다<iframe>
브라우저 버전을 확인하는 방법은 다음과 같습니다.
<!DOCTYPE html>
<html>
<body>
<p>What is the name(s) of your browser?</p>
<button onclick="myFunction()">Try it</button>
<p id="demo"></p>
<script>
function myFunction() {
if((navigator.userAgent.indexOf("Opera") || navigator.userAgent.indexOf('OPR')) != -1 )
{
alert('Opera');
}
else if(navigator.userAgent.indexOf("Chrome") != -1 )
{
alert('Chrome');
}
else if(navigator.userAgent.indexOf("Safari") != -1)
{
alert('Safari');
}
else if(navigator.userAgent.indexOf("Firefox") != -1 )
{
alert('Firefox');
}
else if((navigator.userAgent.indexOf("MSIE") != -1 ) || (!!document.documentMode == true )) //IF IE > 10
{
alert('IE');
}
else
{
alert('unknown');
}
}
</script>
</body>
</html>
그리고 IE 브라우저 버전 만 알아야한다면 아래 코드를 따르십시오. 이 코드는 IE6 ~ IE11 버전에서 잘 작동합니다.
<!DOCTYPE html>
<html>
<body>
<p>Click on Try button to check IE Browser version.</p>
<button onclick="getInternetExplorerVersion()">Try it</button>
<p id="demo"></p>
<script>
function getInternetExplorerVersion() {
var ua = window.navigator.userAgent;
var msie = ua.indexOf("MSIE ");
var rv = -1;
if (msie > 0 || !!navigator.userAgent.match(/Trident.*rv\:11\./)) // If Internet Explorer, return version number
{
if (isNaN(parseInt(ua.substring(msie + 5, ua.indexOf(".", msie))))) {
//For IE 11 >
if (navigator.appName == 'Netscape') {
var ua = navigator.userAgent;
var re = new RegExp("Trident/.*rv:([0-9]{1,}[\.0-9]{0,})");
if (re.exec(ua) != null) {
rv = parseFloat(RegExp.$1);
alert(rv);
}
}
else {
alert('otherbrowser');
}
}
else {
//For < IE11
alert(parseInt(ua.substring(msie + 5, ua.indexOf(".", msie))));
}
return false;
}}
</script>
</body>
</html>
chrome
useragent에 키워드 가 없기 때문 입니다. 사파리 사용자 에이전트의 예 -mozilla/5.0 (macintosh; intel mac os x 10_11_5) applewebkit/601.6.17 (khtml, like gecko) version/9.1.1 safari/601.6.17
if(navigator.userAgent.indexOf("Opera") != -1 || navigator.userAgent.indexOf('OPR') != -1 )
나는 그것을 위해 lib를 사용하는 것이 과잉 일 수 있다는 것을 알고 있지만 스레드를 풍부하게하기 위해 is.js 방법을 확인할 수 있습니다 .
is.firefox();
is.ie(6);
is.not.safari();
is.js
어떻게하는지 확인하십시오.
2019 년 12 월 현재 브라우저 감지를 처리하는 몇 가지 주요 라이브러리가 있습니다.
var result = bowser.getParser(window.navigator.userAgent);
console.log(result);
document.write("You are using " + result.parsedResult.browser.name +
" v" + result.parsedResult.browser.version +
" on " + result.parsedResult.os.name);
<script src="https://unpkg.com/bowser@2.7.0/es5.js"></script>
* Chromium 기반 Edge 지원
console.log(platform);
document.write("You are using " + platform.name +
" v" + platform.version +
" on " + platform.os);
<script src="https://cdnjs.cloudflare.com/ajax/libs/platform/1.3.5/platform.min.js"></script>
console.log($.browser)
document.write("You are using " + $.browser.name +
" v" + $.browser.versionNumber +
" on " + $.browser.platform);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-browser/0.1.0/jquery.browser.min.js"></script>
var result = detect.parse(navigator.userAgent);
console.log(result);
document.write("You are using " + result.browser.family +
" v" + result.browser.version +
" on " + result.os.family);
<script src="https://cdnjs.cloudflare.com/ajax/libs/Detect.js/2.2.2/detect.min.js"></script>
console.log(BrowserDetect)
document.write("You are using " + BrowserDetect.browser +
" v" + BrowserDetect.version +
" on " + BrowserDetect.OS);
<script src="https://kylemit.github.io/libraries/libraries/BrowserDetect.js"></script>
누군가이 기능이 유용하다고 생각되면 Rob W의 대답 을 여러 변수가 떠있는 대신 브라우저 문자열을 반환하는 함수로 만들었습니다 . 브라우저는 다시로드하지 않고 실제로는 변경할 수 없으므로 다음에 함수를 호출 할 때 결과를 해결할 필요가 없도록 결과를 캐시했습니다.
/**
* Gets the browser name or returns an empty string if unknown.
* This function also caches the result to provide for any
* future calls this function has.
*
* @returns {string}
*/
var browser = function() {
// Return cached result if avalible, else get result then cache it.
if (browser.prototype._cachedResult)
return browser.prototype._cachedResult;
// Opera 8.0+
var isOpera = (!!window.opr && !!opr.addons) || !!window.opera || navigator.userAgent.indexOf(' OPR/') >= 0;
// Firefox 1.0+
var isFirefox = typeof InstallTrigger !== 'undefined';
// Safari 3.0+ "[object HTMLElementConstructor]"
var isSafari = /constructor/i.test(window.HTMLElement) || (function (p) { return p.toString() === "[object SafariRemoteNotification]"; })(!window['safari'] || safari.pushNotification);
// Internet Explorer 6-11
var isIE = /*@cc_on!@*/false || !!document.documentMode;
// Edge 20+
var isEdge = !isIE && !!window.StyleMedia;
// Chrome 1+
var isChrome = !!window.chrome && !!window.chrome.webstore;
// Blink engine detection
var isBlink = (isChrome || isOpera) && !!window.CSS;
return browser.prototype._cachedResult =
isOpera ? 'Opera' :
isFirefox ? 'Firefox' :
isSafari ? 'Safari' :
isChrome ? 'Chrome' :
isIE ? 'IE' :
isEdge ? 'Edge' :
isBlink ? 'Blink' :
"Don't know";
};
console.log(browser());
window.chrome.webstore
Chrome 71에서 속성 이 제거되었으므로이 방법은 더 이상 작동하지 않습니다.
짧은 변형
var browser = (function() {
var test = function(regexp) {
return regexp.test(window.navigator.userAgent);
}
switch (true) {
case test(/edg/i): return "edge";
case test(/opr/i) && (!!window.opr || !!window.opera): return "opera";
case test(/chrome/i) && !!window.chrome: return "chrome";
case test(/trident/i): return "ie";
case test(/firefox/i): return "firefox";
case test(/safari/i): return "safari";
default: return "other";
}
})();
console.log(browser)
다음은 Microsoft Edge 및 깜박임 감지를 포함하여 2016 년 Rob의 답변 수정 버전입니다.
( 편집 : 위의 정보로 Rob의 답변을 업데이트했습니다.)
// Opera 8.0+ (UA detection to detect Blink/v8-powered Opera)
isOpera = !!window.opera || navigator.userAgent.indexOf(' OPR/') >= 0;
// Firefox 1.0+
isFirefox = typeof InstallTrigger !== 'undefined';
// Safari 3.0+
isSafari = /constructor/i.test(window.HTMLElement) || (function (p) { return p.toString() === "[object SafariRemoteNotification]"; })(!window['safari'] || safari.pushNotification);
// Internet Explorer 6-11
isIE = /*@cc_on!@*/false || !!document.documentMode;
// Edge 20+
isEdge = !isIE && !!window.StyleMedia;
// Chrome 1+
isChrome = !!window.chrome && !!window.chrome.webstore;
// Blink engine detection
isBlink = (isChrome || isOpera) && !!window.CSS;
/* Results: */
console.log("isOpera", isOpera);
console.log("isFirefox", isFirefox);
console.log("isSafari", isSafari);
console.log("isIE", isIE);
console.log("isEdge", isEdge);
console.log("isChrome", isChrome);
console.log("isBlink", isBlink);
이 접근 방식의 장점은 브라우저 엔진 속성에 의존하므로 Yandex 또는 Vivaldi와 같은 파생 브라우저도 포함하며 엔진을 사용하는 주요 브라우저와 실질적으로 호환됩니다. 단, 사용자 에이전트 스니핑에 의존하는 Opera는 예외입니다. 그러나 오늘날 (즉, 버전 15 이상) Opera 자체도 Blink의 셸일뿐입니다.
!!window.MSAssertion;
시험은 원격 데스크톱을 통해 에지 베타 나를 위해 작동하지 않습니다. false를 반환합니다.
MSAssertion
트릭은 버전 25로 조정되었습니다. 그러나 많은 개발자들이 VM에 의존하기 때문에이 이전 버전을 조정하려고 시도합니다. 잘 했어 감사.
StyleMedia
(대문자) 객체는 IE와 가장자리에 고유 어디서나가는 것 같지 않습니다.
당신은 사용할 수 있습니다 try
및 catch
다른 브라우저 오류 메시지를 사용 할 수 있습니다. IE와 가장자리가 섞여 있었지만 Rob W의 오리 타이핑을 사용했습니다 (이 프로젝트를 기반으로 https://www.khanacademy.org/computer-programming/i-have-opera/2395080328 ).
var getBrowser = function() {
try {
var e;
var f = e.width;
} catch(e) {
var err = e.toString();
if(err.indexOf("not an object") !== -1) {
return "safari";
} else if(err.indexOf("Cannot read") !== -1) {
return "chrome";
} else if(err.indexOf("e is undefined") !== -1) {
return "firefox";
} else if(err.indexOf("Unable to get property 'width' of undefined or null reference") !== -1) {
if(!(false || !!document.documentMode) && !!window.StyleMedia) {
return "edge";
} else {
return "IE";
}
} else if(err.indexOf("cannot convert e into object") !== -1) {
return "opera";
} else {
return undefined;
}
}
};
모두 감사합니다. Chrome 55, Firefox 50, IE 11 및 Edge 38의 최신 브라우저에서 코드 스 니펫을 테스트했으며 모두 나에게 도움이되는 다음 조합을 생각해 냈습니다. 나는 그것이 향상 될 수 있다고 확신하지만, 필요한 사람에게는 빠른 해결책입니다.
var browser_name = '';
isIE = /*@cc_on!@*/false || !!document.documentMode;
isEdge = !isIE && !!window.StyleMedia;
if(navigator.userAgent.indexOf("Chrome") != -1 && !isEdge)
{
browser_name = 'chrome';
}
else if(navigator.userAgent.indexOf("Safari") != -1 && !isEdge)
{
browser_name = 'safari';
}
else if(navigator.userAgent.indexOf("Firefox") != -1 )
{
browser_name = 'firefox';
}
else if((navigator.userAgent.indexOf("MSIE") != -1 ) || (!!document.documentMode == true )) //IF IE > 10
{
browser_name = 'ie';
}
else if(isEdge)
{
browser_name = 'edge';
}
else
{
browser_name = 'other-browser';
}
$('html').addClass(browser_name);
브라우저 이름으로 HTML에 CSS 클래스를 추가합니다.
그것이 누구에게나 유용한 지 모르겠지만 여기에 TypeScript를 행복하게 만드는 변형이 있습니다.
export function getBrowser() {
// Opera 8.0+
if ((!!window["opr"] && !!["opr"]["addons"]) || !!window["opera"] || navigator.userAgent.indexOf(' OPR/') >= 0) {
return 'opera';
}
// Firefox 1.0+
if (typeof window["InstallTrigger"] !== 'undefined') {
return 'firefox';
}
// Safari 3.0+ "[object HTMLElementConstructor]"
if (/constructor/i.test(window["HTMLElement"]) || (function(p) { return p.toString() === "[object SafariRemoteNotification]"; })(!window['safari'] || (typeof window["safari"] !== 'undefined' && window["safari"].pushNotification))) {
return 'safari';
}
// Internet Explorer 6-11
if (/*@cc_on!@*/false || !!document["documentMode"]) {
return 'ie';
}
// Edge 20+
if (!(/*@cc_on!@*/false || !!document["documentMode"]) && !!window["StyleMedia"]) {
return 'edge';
}
// Chrome 1+
if (!!window["chrome"] && !!window["chrome"].webstore) {
return 'chrome';
}
// Blink engine detection
if (((!!window["chrome"] && !!window["chrome"].webstore) || ((!!window["opr"] && !!["opr"]["addons"]) || !!window["opera"] || navigator.userAgent.indexOf(' OPR/') >= 0)) && !!window["CSS"]) {
return 'blink';
}
}
데스크톱 및 모바일에서 브라우저 감지 : Edge, Opera, Chrome, Safari, Firefox, IE
@nimesh 코드를 약간 변경했는데 Edge에서도 작동하고 Opera 문제가 수정되었습니다.
function getBrowserName() {
if ( navigator.userAgent.indexOf("Edge") > -1 && navigator.appVersion.indexOf('Edge') > -1 ) {
return 'Edge';
}
else if( navigator.userAgent.indexOf("Opera") != -1 || navigator.userAgent.indexOf('OPR') != -1 )
{
return 'Opera';
}
else if( navigator.userAgent.indexOf("Chrome") != -1 )
{
return 'Chrome';
}
else if( navigator.userAgent.indexOf("Safari") != -1)
{
return 'Safari';
}
else if( navigator.userAgent.indexOf("Firefox") != -1 )
{
return 'Firefox';
}
else if( ( navigator.userAgent.indexOf("MSIE") != -1 ) || (!!document.documentMode == true ) ) //IF IE > 10
{
return 'IE';
}
else
{
return 'unknown';
}
}
감사합니다 @nimesh 사용자 : 2063564
모든 인기있는 브라우저에서 작동하는 덜 "해킹 된"방법도 있습니다. Google은 폐쇄 라이브러리 에 브라우저 확인 기능을 포함 시켰습니다 . 특히, 한 번 봐 가지고 goog.userAgent
와 goog.userAgent.product
. 이런 식으로 브라우저가 표시하는 방식에 변화가 생겼을 경우에도 항상 최신 상태입니다 (항상 최신 버전의 클로저 컴파일러를 실행하는 경우).
UAParser 는 userAgent 문자열에서 브라우저, 엔진, OS, CPU 및 장치 유형 / 모델을 식별하는 경량 JavaScript 라이브러리 중 하나입니다.
사용 가능한 CDN이 있습니다. 여기에는 UAParser를 사용하여 브라우저를 감지하는 예제 코드가 포함되어 있습니다.
<!doctype html>
<html>
<head>
<script src="https://cdn.jsdelivr.net/npm/ua-parser-js@0/dist/ua-parser.min.js"></script>
<script type="text/javascript">
var parser = new UAParser();
var result = parser.getResult();
console.log(result.browser); // {name: "Chromium", version: "15.0.874.106"}
</script>
</head>
<body>
</body>
</html>
이제의 값을 사용 result.browser
하여 조건부로 페이지를 프로그래밍 할 수 있습니다 .
소스 자습서 : JavaScript를 사용하여 브라우저, 엔진, OS, CPU 및 장치를 감지하는 방법은 무엇입니까?
var BrowserDetect = {
init: function () {
this.browser = this.searchString(this.dataBrowser) || "Other";
this.version = this.searchVersion(navigator.userAgent) || this.searchVersion(navigator.appVersion) || "Unknown";
},
searchString: function (data) {
for (var i = 0; i < data.length; i++) {
var dataString = data[i].string;
this.versionSearchString = data[i].subString;
if (dataString.indexOf(data[i].subString) !== -1) {
return data[i].identity;
}
}
},
searchVersion: function (dataString) {
var index = dataString.indexOf(this.versionSearchString);
if (index === -1) {
return;
}
var rv = dataString.indexOf("rv:");
if (this.versionSearchString === "Trident" && rv !== -1) {
return parseFloat(dataString.substring(rv + 3));
} else {
return parseFloat(dataString.substring(index + this.versionSearchString.length + 1));
}
},
dataBrowser: [
{string: navigator.userAgent, subString: "Edge", identity: "MS Edge"},
{string: navigator.userAgent, subString: "MSIE", identity: "Explorer"},
{string: navigator.userAgent, subString: "Trident", identity: "Explorer"},
{string: navigator.userAgent, subString: "Firefox", identity: "Firefox"},
{string: navigator.userAgent, subString: "Opera", identity: "Opera"},
{string: navigator.userAgent, subString: "OPR", identity: "Opera"},
{string: navigator.userAgent, subString: "Chrome", identity: "Chrome"},
{string: navigator.userAgent, subString: "Safari", identity: "Safari"}
]
};
BrowserDetect.init();
var bv= BrowserDetect.browser;
if( bv == "Chrome"){
$("body").addClass("chrome");
}
else if(bv == "MS Edge"){
$("body").addClass("edge");
}
else if(bv == "Explorer"){
$("body").addClass("ie");
}
else if(bv == "Firefox"){
$("body").addClass("Firefox");
}
$(".relative").click(function(){
$(".oc").toggle('slide', { direction: 'left', mode: 'show' }, 500);
$(".oc1").css({
'width' : '100%',
'margin-left' : '0px',
});
});
이것은 Rob의 원래 답변과 2016 년 Pilau의 업데이트를 결합합니다.
var isOpera = !!window.opera || navigator.userAgent.indexOf(' OPR/') >= 0;
// Opera 8.0+ (UA detection to detect Blink/v8-powered Opera)
var isFirefox = typeof InstallTrigger !== 'undefined'; // Firefox 1.0+
var isSafari = Object.prototype.toString.call(window.HTMLElement).indexOf('Constructor') > 0;
// At least Safari 3+: "[object HTMLElementConstructor]"
var isChrome = !!window.chrome && !isOpera; // Chrome 1+
var isIE = /*@cc_on!@*/false || !!document.documentMode;
// Edge 20+
var isEdge = !isIE && !!window.StyleMedia;
// Chrome 1+
var output = 'Detecting browsers by ducktyping:<hr>';
output += 'isFirefox: ' + isFirefox + '<br>';
output += 'isChrome: ' + isChrome + '<br>';
output += 'isSafari: ' + isSafari + '<br>';
output += 'isOpera: ' + isOpera + '<br>';
output += 'isIE: ' + isIE + '<br>';
output += 'isIE Edge: ' + isEdge + '<br>';
document.body.innerHTML = output;
여기에서 어떤 브라우저가 실행 중인지 확인할 수 있습니다.
function isValidBrowser(navigator){
var isChrome = navigator.indexOf('chrome'),
isFireFox= navigator.indexOf('firefox'),
isIE = navigator.indexOf('trident') ,
isValidChromeVer = parseInt(navigator.substring(isChrome+7, isChrome+8)) >= 4,
isValidFireForVer = parseInt(navigator.substring(isFireFox+8, isFireFox+9)) >= 3,
isValidIEVer = parseInt(navigator.substring(isIE+8, isIE+9)) >= 7;
if((isChrome > -1 && isValidChromeVer){ console.log("Chrome Browser")}
if(isFireFox > -1 && isValidFireForVer){ console.log("FireFox Browser")}
if(isIE > -1 && isValidIEVer)){ console.log("IE Browser")}
}
우리는 아래의 util 메소드를 사용할 수 있습니다
utils.isIE = function () {
var ver = navigator.userAgent;
return ver.indexOf("MSIE") !== -1 || ver.indexOf("Trident") !== -1; // need to check for Trident for IE11
};
utils.isIE32 = function () {
return (utils.isIE() && navigator.appVersion.indexOf('Win64') === -1);
};
utils.isChrome = function () {
return (window.chrome);
};
utils.isFF64 = function () {
var agent = navigator.userAgent;
return (agent.indexOf('Win64') >= 0 && agent.indexOf('Firefox') >= 0);
};
utils.isFirefox = function () {
return (navigator.userAgent.toLowerCase().indexOf('firefox') > -1);
};
간단한 한 줄의 JavaScript 코드는 브라우저 이름을 제공합니다.
function GetBrowser()
{
return navigator ? navigator.userAgent.toLowerCase() : "other";
}
navigator.userAgent
는 가능한 모든 브라우저 를 알려주는 것입니다. 따라서 이것이 실제로 신뢰할 수없는 것은 사용자가 브라우저를 하나만 가지고있는 경우에만 작동합니다.