>웹 프론트엔드 >JS 튜토리얼 >JavaScript에서 Safari, Chrome, Firefox, IE 및 Opera 브라우저를 안정적으로 감지하려면 어떻게 해야 합니까?

JavaScript에서 Safari, Chrome, Firefox, IE 및 Opera 브라우저를 안정적으로 감지하려면 어떻게 해야 합니까?

Linda Hamilton
Linda Hamilton원래의
2024-12-19 11:53:12168검색

How Can I Reliably Detect Safari, Chrome, Firefox, IE, and Opera Browsers in JavaScript?

Safari, Chrome, IE, Firefox 및 Opera 브라우저를 감지하는 방법

사용자의 브라우저를 확인하는 것은 사용자를 다음으로 리디렉션하는 데 중요할 수 있습니다. 적절한 애드온 또는 확장. 사용자 에이전트 문자열을 확인하는 것이 일반적인 접근 방식이지만 스푸핑으로 인해 신뢰할 수 없을 수 있습니다.

더 강력한 솔루션을 제공하려면 덕 타이핑을 통해 브라우저를 감지할 수 있습니다. 이 방법은 사용자 에이전트 문자열에 의존하는 대신 브라우저별 API 및 기능을 활용합니다. 브라우저별 설치 지침과 같이 필요한 경우에만 이 감지 방법을 사용하십시오. 가능할 때마다 기능 감지를 선호해야 합니다.

다음은 오리 입력 브라우저 감지를 위한 JavaScript 코드 조각입니다.

// 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' && window['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;

이러한 브라우저별 검사를 활용하면 사용자를 다음 페이지로 효과적으로 리디렉션할 수 있습니다. 해당 브라우저에 맞는 애드온 또는 확장 프로그램을 다운로드하세요.

위 내용은 JavaScript에서 Safari, Chrome, Firefox, IE 및 Opera 브라우저를 안정적으로 감지하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.