UserAgent를 사용하여 UserAgent에 의해 리턴 된 문자열에 "Chrome"이 포함되어 있는지 확인하십시오.
<스크립트 유형 = "Text/JavaScript"> var ischrome = window.navigator.useragent.indexof ( "chrome")! } elert ( "크롬이 아님") </script>
Indexof Method :
indexof 메소드는 문자열 객체 내부의 하위 문자열의 시작 위치를 나타내는 정수 값을 반환합니다. 즉, 문자열의 indexof () 브래킷에 포함 된 문자의 위치는 숫자 수로 반환되며 카운트는 0부터 시작됩니다. 중복 문자가있는 경우 첫 번째 문자가 우선합니다. 서브 스트링이 발견되지 않으면 -1을 반환하십시오.
JS는 커널을 통해 다양한 브라우저를 판단합니다.
getBrowserInfo () {var ua = navigator.useragent.tolocalelowercase = if (ua.match (/msie/)! = null || ua.match (/t rident/)! = null) { BrowserType = "IE"; MATCH (/rv:rem)} else (ua.match/)! = null) {browsertype = "firefox"; // ubrowser/)! = null) {browsertype = "uc"} else (ua.match (/opera/)! = null) {browsertype = "openg"; ) : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :! )! = null) {browsertype = "sogou"} else (ua.match (/tencenttraveler/)! = null | if (ua.match (/maxthon/)! = null) {browsertype = "running"else if (ua.match (/chrome/)! = null) {var is360 = _mime ( "type", "application/ vnd.chromium.remoting-viewer "); 함수 _mime (옵션, 값) {var mimetypes = navi gator.mimetypes; for (var mt in mimetypes) {if (mimetypes [mt] [옵션] == value) {return true } false} (is360) {browsertype = '360'; safari/)! = null) {browsertype = "safari"};
Mimetype "Application/Vnd.Chromium.remoting-Viewer"만이 크롬에 존재하며 브라우저에 크롬 또는 기본 크롬으로 브라우저가 껍질을 벗겨든지 판단 할 수 있습니다.
예를 들어, IE 커널의 브라우저에만 ActiveXobject 객체가 있습니다. 이것으로부터 우리는 그것이 IE 브라우저인지 여부를 결정할 수 있습니다.
브라우저 유형을 결정하려면 다음 원칙을 따라야합니다.
1. 적중 기능 원리를 채택하면 브라우저를 구별하는 특성을 완전히 준수하는 경우에만이 기능을 채택합니다. 예를 들어, IE 브라우저가 단순히 UA의 MSIE를 통과하는지 여부를 간단히 감지하는 것은 신뢰할 수 없습니다. 이 단계에서는 기본 크롬이 실현 가능하다고 주장하기 위해 "Application/Vnd.chromium.Remoting-Viewer"가 있는지 여부를 판단함으로써, 영구적 인 효과를 보장하지는 않습니다.
2. 주류 브라우저에는 일반적으로 UserAgent 키워드 충돌이 없지만 많은 쉘 브라우저는 확실하지 않습니다. 나는 디지털 브라우저를 다시 제안했지만 IE와 정확히 동일하지만 렌더링 모드는 매우 다르며 표준 IE 동작과는 매우 다릅니다. UserAgent가 브라우저를 판단 할 때 브라우저 기능 단어가 선호됩니다. 일치는 기본적으로 브라우저로 결정되지만 일치하지 않는다고해서 브라우저가 아니라는 것을 의미하지는 않습니다. 모든 것을 아십시오.
3. 브라우저 기능을 사용하여 브라우저를 구별하는 데 우선 순위가 부여됩니다. 둘째, UserAgent는 판단이 최고 수준의 일치를 달성하기 위해 사용됩니다.
4. 제 3 자 쉘 브라우저를 감지하는 것은 현재 존재하는 대부분의 브라우저를 열거 할 수 있습니다. 그것들을 설정하십시오.
5. 브라우저 버전을 판단하려면 특정 브라우저에 대한 최적화를위한 것이며 특정 비즈니스 시나리오에서 수행해야합니다. 또는 브라우저에 호환성 문제가 있고 브라우저에 대한 패치 코드를 긴급하게 추가 할 때만 판단됩니다. 보다 과학적이고 안전한 방법은 표준 JS 기능 및 API를 사용하는 것이며 페이지 요소 및 스타일 디자인은 W3C 표준을 따릅니다. 호환성 문제가있을 수 있습니다. 이것은 호환성 문제에 대한 기본 솔루션입니다.
다음은 브라우저 유형을 결정하기 위해 최근 컴파일 된 코드입니다.