判断PC/Mobile设备类型

zz/2024/7/13 11:28:40
<!-- 判断PC/Mobile设备类型 -->
<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";  if (!(bIsIpad || bIsIphoneOs || bIsMidp || bIsUc7 || bIsUc || bIsAndroid || bIsCE || bIsWM) ){  //window.location.href="PC页面";alert("PC端")}}  browserRedirect();  //方法二: function isPC(){  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;  }       if(isPC()){alert("PC端")}else{alert("Mobile端")}//方法三:if(/AppleWebKit.*Mobile/i.test(navigator.userAgent) || (/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/.test(navigator.userAgent))){if(window.location.href.indexOf("?mobile")<0){try{if(/Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)){// 判断访问环境是 Android|webOS|iPhone|iPod|BlackBerry 则加载以下样式alert("Mobile")}else if(/iPad/i.test(navigator.userAgent)){// 判断访问环境是 iPad 则加载以下样式alert("Mobile")}else{// 判断访问环境是 其他移动设备 则加载以下样式alert("Mobile")}}catch(e){}}}else{alert("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, //是否iPadwebApp: u.indexOf("Safari") == -1 //是否web应该程序,没有头部与底部};}(),language:(navigator.browserLanguage || navigator.language).toLowerCase()}if(browser.versions.mobile || browser.versions.ios || browser.versions.android || browser.versions.iPhone || browser.versions.iPad){alert("Mobile")}else{alert("PC")}
</script>
<!-- PC浏览器类型UserAgent判断的函数 -->
<script language="javascript">var browse="";var explorer =navigator.userAgent,browse;if (explorer.indexOf("MSIE") >= 0){//ie browse = "ie";}else if (explorer.indexOf("Firefox") >= 0) {// firefox 火狐browse = "Firefox";}else if(explorer.indexOf("Chrome") >= 0){//Chrome 谷歌browse = "Chrome";}else if(explorer.indexOf("Opera") >= 0){//Opera 欧朋browse = "Opera";}else if(explorer.indexOf("Safari") >= 0){//Safari 苹果浏览器browse = "Safari";}else if(explorer.indexOf("Netscape")>= 0) { //Netscapebrowse = "Netscape"; }
</script>


http://www.ngui.cc/zz/2748830.html

相关文章

基于CSS3的WEBAPP横向滑动模式演化

前言 随着移动网络速率和设备硬件水平的不断提升&#xff0c;webapp的发展更加的native化&#xff0c;其表现效果和性能也会越来越好&#xff0c;在可预计的未来很有可能替代native或者平起平坐&#xff0c;那么我们研究更好的交互体验是非常有必要的。 目前我们所常见的webapp…

JavaScript闭包面试题

由工作中演变而来的面试题 这是一个我工作当中的遇到的一个问题&#xff0c;似乎很有趣&#xff0c;就当做了一道题去面试&#xff0c;发现几乎没人能全部答对并说出原因&#xff0c;遂拿出来聊一聊吧。 先看题目代码&#xff1a; function fun(n,o) {console.log(o)return {f…

本地开发环境配置Nginx

本地开发环境配置Nginx 目的&#xff1a;前端本地开发环境联调测试服务器上的后端&#xff0c;Cookie不能跨域问题 Mac系统 1.安装Nginx&#xff1a; brew install nginx 安装目录&#xff1a;/usr/local/Cellar/nginx/ 配置文件路径&#xff1a;/usr/local/etc/nginx 日志…

koa+mysql入坑记

github上找了开源项目&#xff0c;下载下来&#xff0c;项目里有blog.sql数据库文件&#xff0c;但不会数据库&#xff0c;跑不起来。。只能现找教程看了。。 github项目地址&#xff1a;https://github.com/nickrogit/stu-koa2blog-server.git 以下操作都是window端 一、my…

一个免费的天气接口

接口地址&#xff1a;http://wthrcdn.etouch.cn/weather_mini 示例&#xff1a;http://wthrcdn.etouch.cn/weather_mini?city深圳

toyReact

从0开始构建一个玩具react react基本组件原理学习vdom的实现思路突破编写自我的难点代码 创建webpack 首先我们创建package.json npm init接下来我们创建webpack npm install webpack --save-dev创建好后新建webpack.config.js 添加entry 开发者模式 以及不压缩代码 modu…

Antd Pro v5页面加载执行

新方案&#xff1a; useRequest https://nickro.blog.csdn.net/article/details/121995691 旧方案&#xff1a; import React, { useState, useEffect } from react; import { PageContainer } from ant-design/pro-layout; import { message, Card, Row, Col } from antd;i…

React hooks 中ref、useRef和forwardRef 的用法(父子组件通讯)

Forwarding Refs – Reacthttps://reactjs.org/docs/forwarding-refs.html 父调子组件 DOM 聚焦 import React, { useRef, forwardRef } from react; import { Card, Button } from antd;const Child forwardRef((props,cRef) > {// const inputRef useRef()const onClic…

antd tree expandedKeys不生效坑记录

官方要求string[]&#xff0c;注意treeData里的key类型。 我的treeData是接口获取的&#xff0c;在useState赋值后&#xff0c;设置expandedKeys的值未生效。原因是useState是异常赋值&#xff0c;加了一个setTimeout延迟设置expandedKeys。 setTimeout(() > {expandAllKe…