隨着移動端越來越重要,pc和移動端網站后台系統可能是同一個,登錄或者某個特定時期需要根據不同訪問來源,跳轉不同頁面或者做不同的處理;
這時我們就需要js的 navigator 對象;
我們先了解一下navigator 對象相關的屬性:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>JS的navigator對象</title> </head> <body> <div id="txt"></div> <script> var txt = "<p>瀏覽器代號: " + navigator.appCodeName + "</p>"; txt+= "<p>瀏覽器名稱: " + navigator.appName + "</p>"; txt+= "<p>瀏覽器版本: " + navigator.appVersion + "</p>"; txt+= "<p>啟用Cookies: " + navigator.cookieEnabled + "</p>"; txt+= "<p>硬件平台: " + navigator.platform + "</p>"; txt+= "<p>用戶代理: " + navigator.userAgent + "</p>"; txt+= "<p>用戶代理語言: " + navigator.systemLanguage + "</p>"; document.getElementById("txt").innerHTML=txt; </script> </body> </html>
我們可以用其中的用戶代理進行判斷:
<script type="text/javascript"> var ua = navigator.userAgent; var ipad = ua.match(/(iPad).*OS\s([\d_]+)/), isIphone =!ipad && ua.match(/(iPhone\sOS)\s([\d_]+)/), isAndroid = ua.match(/(Android)\s+([\d.]+)/), isMobile = isIphone || isAndroid; //判斷 if(isMobile){ }else{ } </script>
示例二:
function check() { var userAgentInfo=navigator.userAgent; var Agents =new Array("Android","iPhone","SymbianOS","Windows Phone","iPad","iPod"); var flag=true; for(var v=0;v<Agents.length;v++) { if(userAgentInfo.indexOf(Agents[v])>0) { flag=false; break; } } return flag; }
示例三:
function() { var sUserAgent = navigator.userAgent; if (sUserAgent.indexOf('Android') > -1 || sUserAgent.indexOf('iPhone') > -1 || sUserAgent.indexOf('iPad') > -1 || sUserAgent.indexOf('iPod') > -1 || sUserAgent.indexOf('Symbian') > -1) { location.href = '要跳轉的手機網址'; } else {} }
示例四:
function IsPC() { var userAgentInfo = navigator.userAgent; var Agents = ["Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod"]; var flag = true; for (var v = 0; v < Agents.length; v++) { if (userAgentInfo.indexOf(Agents[v]) > 0) { flag = false; break; } } return flag; } var flag = IsPC(); //true為PC端,false為手機端