>  기사  >  웹 프론트엔드  >  js는 사용자가 PC 또는 모바일에 액세스하는지 여부를 어떻게 확인합니까?terminal_javascript 기술

js는 사용자가 PC 또는 모바일에 액세스하는지 여부를 어떻게 확인합니까?terminal_javascript 기술

WBOY
WBOY원래의
2016-05-16 16:51:111361검색

최근 우리 팀은 모바일 플랫폼에 탁월한 경험을 제공하는 "Coffee Wings" 프로젝트로 바쁜 나날을 보내고 있습니다. 안드로이드 플랫폼의 급속한 발전과 함께. 이는 국내 스마트폰 산업을 주도했을 뿐만 아니라 많은 국내 개발자들도 안드로이드 모바일 단말기의 물결에 동참하기 시작했습니다. 당신이 놓친 큰 인터넷 파도가 많다면. 그렇다면 이 Android 물결을 절대 놓칠 수 없습니다. 현재 저희는 "Wings of Coffee"에 대한 모바일 단말기와 안드로이드 클라이언트를 개발했습니다. Android 또는 IOS 운영 체제가 탑재된 휴대폰을 사용하는 경우 도메인 이름 www.sygxy.cn을 직접 방문하여 모바일 단말기 효과를 볼 수 있습니다. 동시에 텐센트의 '앱스토어', '바이두 모바일 어시스턴트' 등 애플리케이션 몰에 안드로이드 클라이언트가 탑재됐다. "Coffee Wings"를 직접 검색하시면 다운로드가 가능합니다. 아무런 프로모션도 없이 출시된 지 일주일 만에 이미 100건이 넘는 다운로드를 기록했습니다.

모바일 단말기를 최적화해야 한다면 클라이언트의 액세스 장치가 무엇인지 확인해야 합니다. 판단 결과에 따라 해결되지 않은 도메인 이름 주소가 반환된 후 다른 CSS 파일이 로드됩니다.

우리가 사용하는 판단 방법은 사용자-에이전트 값을 기반으로 합니다. JavaScript 프레임워크에서 Navigator 개체의 userAgent 속성을 사용합니다. 네비게이터 객체에 대한 공개 표준은 없지만 시중의 모든 브라우저에서 지원됩니다. userAgent 속성을 사용하여 클라이언트가 서버에 보낸 user-agent 헤더 값을 반환합니다. 헤더 정보에는 User-Agent가 있으며 그 기능은 사용자의 클라이언트가 어떤 브라우저인지, 운영 체제 정보를 서버에 알려주는 것입니다. 정규식을 사용하여 user-agent 값을 얻으세요. 로컬 값을 기준으로 판단됩니다. 이 일치 값은 Android, iOS와 같은 모바일 운영체제 또는 브라우저 이름일 수 있습니다. 일치하는 항목이 있으면 점프합니다. 그렇지 않으면 점프하지 않고 PC 홈페이지로 바로 이동합니다.

특정 코드 구현에는 웹사이트의 이식성을 높이기 위해 JavaScript 스크립트 언어를 사용합니다. 저자의 의견에 따르면 이 기술을 사용하면 두 가지 이점이 있습니다

1: 웹사이트의 이식성을 향상시킬 수 있습니다. 향후 웹 프로젝트에서 우리 팀이 모바일 단말기의 효과를 다시 추가해야 한다면 그렇게 할 수 있습니다. JS 코드 중 이 부분을 쉽게 소개하고 판단해 보세요. 향후 작업 효율성을 향상시킵니다.

2: 두 번째 포인트는 다양한 인터페이스에서 웹 프로그램의 로딩을 용이하게 하고, 모바일 단말기 판단 코드 중 이 부분을 도입할지 여부입니다.

구체적인 구현:

클라이언트 터미널에서 페이지를 판단해야 하는 경우에는 <script></script> Script 프로그램에서 구체적인 판단 코드는 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.

function uaredirect(f ){
try{if(
document.getElementById("bdmark")!=null){
return
}
var b= false;
if(arguments[1] ){
var e=window.location.host;var a=window.location.href
if(isSubdomain(arguments[1],e)== 1){
f=f "/ #m/" a;b=true}else{if(isSubdomain(arguments[1],e)==2){f=f "/#m/" a; b=true}
else{f= a;b=false}}}
else{b=true}if(b){var c=window.location.hash
if(!c. match("fromapp")){
if((navigator.userAgent.match(/(iPhone|iPod|Android|ios|Windows Phone)/i))){location.replace(f)}}}}catch (d)
{
;  }
}
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.