如何用javascript判断终端设备 - Web前端
作者:98wpeu发布时间:2026-05-17分类:网页前端技术浏览:152
导读:说到手机终端设备,众所周知了,主要是iOS(iPhone)、Android两种。在有些项目中,我们需要PC和移动端设备两种不一样的效果。比如我先前做了一个“晒创意跑步轨迹”的一个活...
说到手机终端设备,众所周知了,主要是iOS(iPhone)、Android两种。在有些项目中,我们需要PC和移动端设备两种不一样的效果。比如我先前做了一个“晒创意跑步轨迹”的一个活动,在分享功能上就需要区分pc和移动端,如下图:

在PC端,当鼠标移动到”分享按钮“上的时候,弹出微博和QQ空间,然后点击进行分享。但是在移动微信端,我们用另外一个效果代替它。如下图:

所以我们就要用到JS判断浏览器PC、IOS(iphone)、android手机移动端。通过判断浏览器的UserAgent,用正则来判断手机是否是ios和Android客户端。
var u = navigator.userAgent;
isAndroid = u.indexof('Android') > -1 || u.indexOf('Adr') > -1, //android终端
isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端下面一个比较全面的浏览器检查函数,提供更多的检查内容,你可以检查是否是移动端(mobile)、iPad、iphone、微信、QQ等。
<script type="text/javascript">
//判断访问终端
var browser={
versions:function(){
var u = navigator.userAgent, APP = navigator.appVersion;
return {
trident: u.indexOf('Trident') > -1, //ie内核
PResto: u.indexOf('Presto') > -1, //opera内核
WEBKit: u.indexOf('appleWebKit') > -1, //苹果、谷歌内核
gecko: u.indexOf('Gecko') > -1 && u.indexOf('Khtml') == -1,//火狐内核
mobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否为移动终端
ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端
android: u.indexOf('Android') > -1 || u.indexOf('Adr') > -1, //android终端
iPhone: u.indexOf('iPhone') > -1 , //是否为iPhone或者QQHD浏览器
iPad: u.indexOf('iPad') > -1, //是否iPad
webApp: u.indexOf('Safari') == -1, //是否web应该程序,没有头部与底部
weixin: u.indexOf('MicroMessenger') > -1, //是否微信 (2015-01-22新增)
qq: u.match(/\sQQ/i) == " qq" //是否QQ
};
}(),
language:(navigator.browserLanguage || navigator.language).toLowerCase()
}
</script>使用方法:
//判断是否IE内核
if(browser.versions.trident){ alert("is IE"); }
//判断是否webKit内核
if(browser.versions.webKit){ alert("is webKit"); }
//判断是否移动端
if(browser.versions.mobile||browser.versions.android||browser.versions.ios){ alert("移动端"); }
检测浏览器语言
currentLang = navigator.language; //判断除IE外其他浏览器使用语言
if(!currentLang){//判断IE浏览器使用语言
currentLang = navigator.browserLanguage;
}
alert(currentLang);上面只是平时用的最多的一种方法,其实还有第二种方法:
if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) {
//alert(navigator.userAgent);
window.location.href ="iPhone.HTML";
} else if (/(Android)/i.test(navigator.userAgent)) {
//alert(navigator.userAgent);
window.location.href ="Android.html";
} else {
window.location.href ="pc.html";
};不同设备终端,跳转不同页面,这种方法要看情况来用。
有了上面的方法,我就可以随心所欲的在PC和移动端切换效果。
相关推荐
- 使用vue或者react项目,启动时如何修复这样的报错:Error: Cannot find module 'E:\..........' - Web前端
- Web前端带您全方位了解网页开发优化工具:Lighthouse - Web前端
- CSS3动画:通过Animation实现简单的手指点击动画 - Web前端
- Chrome 刚刚添加了这些重要的新安全和隐私功能 - Web前端
- CSS3应用:画个东京奥运会五环图形效果 - Web前端
- HTML5和CSS3应用:绘制小水缸,实现动画效果 - Web前端
- 如何在 Ubuntu 18.04 中为Nginx创建自签名SSL证书 - Web前端
- 谷歌SEO:近期Google已更新核心算法页面体验反垃圾 - Web前端
- 如何在Rust中合理使用全局变量 - Web前端
- 收藏下Linux中关于apt的一些命令 - Web前端
- 网页前端技术排行
-
- 1[Web前端]用javascript实现默认图片替代未显示的图片 - Web前端
- 2分析Iconfont-阿里巴巴矢量常用图标库 - Web前端
- 3jQuery实例教程:制作网页中可折叠的面板 - Web前端
- 4【第六章】Foundation之按钮和下拉功能 - Web前端
- 5基于jquery的滚动条滚动固定div(附演示下载) - Web前端
- 6jQuery编写widget的一些技巧分享 - Web前端
- 7分享精心挑选的12款优秀jQuery Ajax分页插件和教程 - Web前端
- 8在Mac/PC上远程调试iPhone/iPad上的网页 - Web前端
- 9jQuery实现鼠标移到元素上动态提示消息框效果 - Web前端
- 最近发表
-
- WordPress随机显示特色图片插件:Random Post Thumbnails
- KeePass实现Chrome浏览器自动填充密码方法一
- LNMP一键包nginx 301强制跳转到https教程
- KeePass实现Chrome浏览器自动填充密码方法二
- #建站# 免费的VPS管理软件Xshell8/Xftp8中文版下载
- 使用Xshell 8连接VPS教程_电脑登录vps的方法
- WordPress评论界面添加烟花????效果
- 不同浏览器书签同步方案:坚果云+Floccus_详细使用教程
- iOS端KeePassXC客户端APP:Strongbox Password Safe
- 给WordPress评论中的Gravatar头像图片添加ALT属性


