요약:
프론트 엔드 개발에 가장 중요한 작업은 호환성, 시스템 호환성, 브라우저 호환성 등입니다. 오늘 저는 프로젝트에서 캡슐화 한 운영 체제 및 브라우저를 판단하는 방법을 공유 할 것입니다.
운영 체제 :
var os = (function () {var userAgent = navigator.useragent.tolowercase (); return {isipad : /ipad/.test(useragent), isiphone : /iPhone os /.test (userAgent), isandroid : /android/.test (useeragent), iswindowsce : /wind Mobile/.test (userAgent), iswin2k :/windows nt 5.0/.test (userAgent), isxp :/wind iswin81 : /windows nt 6.3 /.test (userAgent)};} ());시스템이 iPad인지 확인하려면 (os.isipad) {}인지 확인하면됩니다.
브라우저 :
var bw = (function () {var userAgent = navigator.useragent.tolowercase (); return {isuc : /ucweb/.test (isuc : /ucweb/.test (useragent)), // uc 브라우저 Ischrome : /chrome/.test (useragent.substrrecrome : /chrome/.test (useragent.substrrecrome/-33,6)), // Chrome Browser isfirefox : /firefox/ // firefox isopera : /opera/.test(useragent), // Opera Browser issafire : /safari/.test (useragent) &&! /chrome/.test (userAgent), // firefox isopera :/opera/.test(useragent), //safari///us istent (supar///use) ! /chrome/.test (userAgent), // Safire Browser IS360 : /360SE/.TEST(USERAGENT), // 360 BROWSER ISBAIDU : /BIDUBROWSER/.TEST(USERAGENT), // BAIDU BROWSER ISSOUGOU :/METASR/.. 6.0/.test (userAgent), // IE6 ISIE7 :/MSIE 7.0/.TEST (userAgent), // IE7 ISIE8 :/MSIE 8.0/.TEST (userAgent), // IE8 ISIE9 :/MSIE 9.0/.test (userAgent), // IE9 ISIE10 :/MSIE 10.0/. /msie 11.0 /.test (userAgent), // ie11 islb : /lbbrowser/.test(useragent), // cheetah 브라우저 iswx : /micromessenger/.test(useragent), // wechat 내장 브라우저 iSqq : /qqbrowerer/.};]]
요약:
브라우저는 혼자 테스트됩니다. 문제가있을 수있는 것은 Chrome 브라우저입니다. 대부분의 브라우저는 WebKit 커널을 사용하기 때문에 크롬 내비게이션을 가로 채어 구별했습니다. 크롬 네비게이터의 정보 위치 또는 미래의 크롬이 변경된 후 길이가 변경되면 문제가 쉽게 발생하지만 현재 괜찮습니다.
오늘날, 휴대 전화의 UC 브라우저는 종종 Baidu의 광고를 차단하지만 Google 광고를 차단하지 않기 때문입니다. UC 브라우저인지 여부를 결정하기 위해 추가 할 수 있습니다. Baidu 광고가 표시되지는 않지만 Google의 광고가 표시됩니다.
if (navigator.useragent.indexof ( 'ucbrowser')> -1) {alert ( "uc browser");} else {// theuc 브라우저에서 수행 한 작업이 아닙니다}}실제로 특정 브라우저의 일부 특수 작업을 통과 할 수 있습니다.
JS는 브라우저 정보를 얻습니다
브라우저 코드 이름 : navigator.appcodename
브라우저 이름 : Navigator.AppName
브라우저 버전 번호 : Navigator.Appversion
Java 지원 : Navigator.javaEnabled ()
마임 유형 (배열) : navigator.mimetypes
시스템 플랫폼 : Navigator.platform
플러그인 (배열) : navigator.plugins
사용자 에이전트 : Navigator.useragent