js判断PC端与移动端跳转
发布时间 - 2026-01-11 00:12:54 点击率:次在网上看到很多这样类似的代码,但是有的很复杂,或者有的没有判断完全,上次经理去见完客户回来讲,使用苹果浏览打开pc端(pc已经做了识别跳转)会自动跳转到移动端的网页去,后来经测试才发现

document.writeln(" 是否为移动终端: "+browser.versions.mobile+"</br>"); //打印出来 true
所以在完整版的代码中 第一层if 判断一直是true
以上的原因是因为,网上流传的判断为:
mobile: !! u.match(/AppleWebKit.*Mobile.*/) || !! u.match(/AppleWebKit/), //是否为移动终端
判断不完整才会造成这种原因。
下面小编为大家分享网站常用的判断代码
pc自动跳移动端
(function() {
if (/Android|webOS|iPhone|iPad|Windows Phone|iPod|BlackBerry|SymbianOS|Nokia|Mobile|Opera Mini/i.test(navigator.userAgent)) {
var siteName = window.location.pathname;
if (url.indexOf("?pc") < 0) {
try {
if (typeof siteName !== "undefined") {
window.location.href = "https://m." + siteName
}
} catch (e) {}
}
}
})();
移动端自动跳pc端
;(function() {
var reWriteUrl = function(url) {
if (url) {
var Splits = url.split("/"),
siteName = window.location.pathname;
if (typeof siteName !== "undefined") {
return "https://www." + siteName
}
}
};
if (!/Android|webOS|iPhone|iPad|Windows Phone|iPod|BlackBerry|SymbianOS|Nokia|Mobile|Opera Mini/i.test(navigator.userAgent)) {
var url = window.location.href;
var pathname = window.location.pathname;
if (url.indexOf("?m") < 0) {
try {
window.location.href = reWriteUrl(url)
} catch(e) {}
}
}
})();
正确的判断应该为:
mobile: !! u.match(/AppleWebKit.*Mobile.*/) || !! u.match(/AppleWebKit/) && u.indexOf('QIHU') && u.indexOf('QIHU') > -1 && u.indexOf('Chrome') < 0, //是否为移动终端
测试程序代码
var browser = {
versions: function() {
var u = navigator.userAgent;
return {
trident: u.indexOf('Trident') > -1,
presto: u.indexOf('Presto') > -1,
webKit: u.indexOf('AppleWebKit') > -1,
gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1,
mobile: !! u.match(/AppleWebKit.*Mobile.*/) || !! u.match(/AppleWebKit/) && u.indexOf('QIHU') && u.indexOf('QIHU') > -1 && u.indexOf('Chrome') < 0,
ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/),
android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1,
iPhone: u.indexOf('iPhone') > -1 || u.indexOf('Mac') > -1,
iPad: u.indexOf('iPad') > -1,
webApp: u.indexOf('Safari') == -1
}
} (),
language:(navigator.browserLanguage || navigator.language).toLowerCase()
};
document.writeln("语言版本: "+browser.language+"</br>");
document.writeln(" 是否为移动终端: "+browser.versions.mobile+"</br>");
document.writeln(" ios终端: "+browser.versions.ios+"</br>");
document.writeln(" android终端: "+browser.versions.android+"</br>");
document.writeln(" 是否为iPhone: "+browser.versions.iPhone+"</br>");
document.writeln(" 是否iPad: "+browser.versions.iPad+"</br>");
document.writeln(navigator.userAgent+"</br>");
完整版,运用于项目代码
/*
*
* 判断PC端与WAP端
*/
var mobile_bs = {
versions: function() {
var u = navigator.userAgent;
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.*/) || !! u.match(/AppleWebKit/) && u.indexOf('QIHU') && u.indexOf('QIHU') > -1 && u.indexOf('Chrome') < 0, //是否为移动终端
ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端
android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android终端或者uc浏览器
iPhone: u.indexOf('iPhone') > -1 || u.indexOf('Mac') > -1, //是否为iPhone或者QQHD浏览器
iPad: u.indexOf('iPad') > -1, //是否iPad
webApp: u.indexOf('Safari') == -1 //是否web应该程序,没有头部与底部
}
} ()
};
if (mobile_bs.versions.mobile) {
if (mobile_bs.versions.android || mobile_bs.versions.iPhone || mobile_bs.versions.iPad || mobile_bs.versions.ios) {
window.location.href = "移动端网址";
}
};
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!
# js判断pc和手机跳转
# js判断手机端跳转
# 详解JS判断页面是在手机端还是在PC端打开的方法
# 两款JS脚本判断手机浏览器类型跳转WAP手机网站
# 使用JS判断移动端手机横竖屏状态
# js判断手机访问或者PC的几个例子(常用于手机跳转)
# JavaScript获取移动设备型号的实现代码(JS获取手机型号和系统)
# JavaScript判断是否手机浏览器的五种方法
# 是因为
# 才会
# 才发现
# 火狐
# 跳转
# 大家分享
# 去见
# 小编
# 很复杂
# 不完整
# 跳转到
# 第一层
# 打印出来
# 在网上
# 网上
# webOS
# js
# brush
# Android
# function
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
javascript中的数组方法有哪些_如何利用数组方法简化数据处理
如何快速登录WAP自助建站平台?
Win11怎么恢复误删照片_Win11数据恢复工具使用【推荐】
Laravel的辅助函数有哪些_Laravel常用Helpers函数提高开发效率
如何在阿里云服务器自主搭建网站?
Java遍历集合的三种方式
北京专业网站制作设计师招聘,北京白云观官方网站?
网站优化排名时,需要考虑哪些问题呢?
Win11怎么设置默认图片查看器_Windows11照片应用关联设置
Win11怎么关闭透明效果_Windows11辅助功能视觉效果设置
Laravel如何处理CORS跨域请求?(配置示例)
移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?
学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?
想要更高端的建设网站,这些原则一定要坚持!
高防服务器租用指南:配置选择与快速部署攻略
Laravel怎么生成二维码图片_Laravel集成Simple-QrCode扩展包与参数设置【实战】
Laravel API资源(Resource)怎么用_格式化Laravel API响应的最佳实践
Laravel Debugbar怎么安装_Laravel调试工具栏配置指南
Laravel如何发送邮件和通知_Laravel邮件与通知系统发送步骤
如何快速生成专业多端适配建站电话?
Bootstrap CSS布局之列表
canvas 画布在主流浏览器中的尺寸限制详细介绍
什么是javascript作用域_全局和局部作用域有什么区别?
Win11搜索不到蓝牙耳机怎么办 Win11蓝牙驱动更新修复【详解】
Laravel如何监控和管理失败的队列任务_Laravel失败任务处理与监控
如何快速搭建自助建站会员专属系统?
Laravel如何实现API资源集合?(Resource Collection教程)
Thinkphp 中 distinct 的用法解析
如何确认建站备案号应放置的具体位置?
Laravel如何集成Inertia.js与Vue/React?(安装配置)
如何快速上传建站程序避免常见错误?
详解Android图表 MPAndroidChart折线图
如何在腾讯云服务器上快速搭建个人网站?
Laravel项目如何进行性能优化_Laravel应用性能分析与优化技巧大全
如何实现建站之星域名转发设置?
如何在建站之星网店版论坛获取技术支持?
手机网站制作与建设方案,手机网站如何建设?
Laravel怎么自定义错误页面_Laravel修改404和500页面模板
如何挑选优质建站一级代理提升网站排名?
三星网站视频制作教程下载,三星w23网页如何全屏?
如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?
laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法
Claude怎样写结构化提示词_Claude结构化提示词写法【教程】
Laravel如何使用Spatie Media Library_Laravel图片上传管理与缩略图生成【步骤】
香港服务器选型指南:免备案配置与高效建站方案解析
laravel怎么使用数据库工厂(Factory)生成带有关联模型的数据_laravel Factory生成关联数据方法
Laravel如何实现用户密码重置功能?(完整流程代码)
WEB开发之注册页面验证码倒计时代码的实现
Laravel如何使用withoutEvents方法临时禁用模型事件
今日头条AI怎样推荐抢票工具_今日头条AI抢票工具推荐算法与筛选【技巧】

