[摘要]
除了通过后端程序判断访问设备外,可以通过js来判断访问设备是电脑还是手机吗?可以的!!
用户访问网页的设备基本分为桌面设备(电脑)和移动设备(手机、pad等),为了更好的用户体验,很多站点都做了PC和mobile两种页面。那么除了通过后端程序判断访问设备外,可以通过js来判断访问设备是电脑还是手机吗?可以的!!
有朋友该问了,为什么不做自适应的啊?有些页面结构比较复杂,不太适合做自适应的。
下面给出这段js代码,可以判断访问设备,然后进行相应的跳转。
if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) { //iPhone手机页面 window.location.href ="iPhone.html"; } else if (/(Android)/i.test(navigator.userAgent)) { //安卓手机页面 window.location.href ="Android.html"; } else { //电脑页面 window.location.href ="pc.html"; };
或者这样,让所有的移动设备都跳转到一个页面
if(/(iPhone|iOS|Android|Windows Phone)/i.test(navigator.userAgent)){ window.location.href = 'mobile.html'; }
本文最后更新于2018年11月1日,已超过 1 年没有更新,如果文章内容或图片资源失效,请留言反馈,我们会及时处理,谢谢!
遇到篡改UA的可就失效了。
挺不错。又涨了点姿势
技术博客每篇必看,谢谢博主
好像之前我们用的代码都是百度的判断来着 忘记了。
涨知识了
不错
不错,其实 不要写那么多判断
if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) {
只要把jq 直接写进去就行了 这样jq 就只在pc有效果 ,移动端没效果的。不需要在做别的判断了
};
谢谢研发大咖
这个确实非常简洁,有需要的时候再试试
这么简单?我以前网上下的js好长一串呢。
if(contains(ua,"ipad")||(contains(ua,"rv:1.2.3.4"))||(contains(ua,"0.0.0.0"))||(contains(ua,"8.0.552.237"))){return false}
if((contains(ua,"android") && contains(ua,"mobile"))||(contains(ua,"android") && contains(ua,"mozilla")) ||(contains(ua,"android") && contains(ua,"opera"))
||contains(ua,"ucweb7")||contains(ua,"iphone")){toMobileVertion();}
}