这篇文章主要介绍了 js 判断当前页面在移动设备还是在 PC 端中打开的相关资料, 需要的朋友可以参考下
Javascript 是一种由 Netscape 的 LiveScript 发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如 Perl,遗留的速度问题,为客户提供更流畅的浏览效果。
本文实例讲解了 js 判断当前页面在移动设备还是在 PC 端中打开的详细代码,分享给大家供大家参考,具体内容如下
- 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('Linux') > -1,
- //android终端或uc浏览器
- iPhone: u.indexOf('iPhone') > -1,
- //是否为iPhone或者QQHD浏览器
- iPad: u.indexOf('iPad') > -1,
- //是否iPad
- webApp: u.indexOf('Safari') == -1 //是否web应该程序,没有头部与底部
- };
- } (),
- language: (navigator.browserLanguage || navigator.language).toLowerCase()
- }
- if (browser.versions.mobile) { //判断是否是移动设备打开。browser代码在下面
- var ua = navigator.userAgent.toLowerCase(); //获取判断用的对象
- if (ua.match(/MicroMessenger/i) == "micromessenger") {
- //在微信中打开
- setInterval(WeixinJSBridge.call('closeWindow'), 2000);
- }
- if (ua.match(/WeiBo/i) == "weibo") {
- //在新浪微博客户端打开
- }
- if (ua.match(/QQ/i) == "qq") {
- //在QQ空间打开
- }
- if (browser.versions.ios) {
- //是否在IOS浏览器打开
- }
- if (browser.versions.android) {
- //是否在安卓浏览器打开
- }
- } else {
- //否则就是PC浏览器打开
- window.close();
- }
代码二:js 判断用户的浏览设备是移动设备还是 PC
最近做的一个网站页面中需要根据用户的访问设备的不同来显示不同的页面样式,主要是判断移动设备还是电脑浏览器访问的。
下面给出 js 判断处理代码,以作参考。
- <script type="text/javascript">
- function browserRedirect() {
- var sUserAgent = navigator.userAgent.toLowerCase();
- var bIsIpad = sUserAgent.match(/ipad/i) == "ipad";
- var bIsIphoneOs = sUserAgent.match(/iphone os/i) == "iphone os";
- var bIsMidp = sUserAgent.match(/midp/i) == "midp";
- var bIsUc7 = sUserAgent.match(/rv:1.2.3.4/i) == "rv:1.2.3.4";
- var bIsUc = sUserAgent.match(/ucweb/i) == "ucweb";
- var bIsAndroid = sUserAgent.match(/android/i) == "android";
- var bIsCE = sUserAgent.match(/windows ce/i) == "windows ce";
- var bIsWM = sUserAgent.match(/windows mobile/i) == "windows mobile";
- document.writeln("您的浏览设备为:");
- if (bIsIpad || bIsIphoneOs || bIsMidp || bIsUc7 || bIsUc || bIsAndroid || bIsCE || bIsWM) {
- document.writeln("phone");
- } else {
- document.writeln("pc");
- }
- }
- browserRedirect();
- </script>
我用电脑上的浏览器,android 设备,iphone,ipad 均做过测试,此代码可行,各设备判断均正确。
来源: