判断是pc端还是移动端

2023-11-13

Navigator对象:Navigator 对象包含有关浏览器的信息,下面的userAgent 属性是一个只读的字符串,声明了浏览器用于 HTTP 请求的用户代理头的值。所以我们可以通过判断navigator.useragent里面是否有某些值来判断

方法一:js代码

<script type="text/javascript">
var mobileAgent = new Array("iphone", "ipod", "ipad", "android", "mobile", "blackberry", "webos", "incognito", "webmate", "bada", "nokia", "lg", "ucweb", "skyfire");
var browser = navigator.userAgent.toLowerCase();
var isMobile = false;
for (var i = 0; i < mobileAgent.length; i++) {
if (browser.indexOf(mobileAgent[i]) != -1) {
isMobile = true;
//alert(mobileAgent[i]);
location.href = '手机要访问页面的链接';
break;
}
}
</script>

方法二:正则表达式

if(/Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)) {
    window.location.href = "https://www.baidu.com/";
} else {
    window.location.href = "http://news.baidu.com/";
}

利用正则去判断 navigator.useragent 是否含有 Android/webOs/iphone 等字符串,并且利用修饰符 “i” 做了不区分大小写,然后用正则的方法 test 去判断是否满足

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

判断是pc端还是移动端 的相关文章

  • (1)docker的使用 阿里镜像 运行jar包 springboot

    前言 在运行jar包时 我的 中台 建议使用docker进行运行 于是查阅资料 将这个过程进行记录如下 对于入门小白 共勉 安装docker 由于是第一次安装 所以借鉴了大牛的帖子 当然 大牛帖子也有缺点 就是一旦被大家认可 更新不及时 该
  • BGP基础

    简述 在EGP协议中 引入了AS Autonomous System 自治系统 的概念 AS是指由同一个技术管理机构管理 使用统一选路策略的一些路由器的集合 AS的内部使用IGP来计算和发现路由 同一个AS内部的路由器之间是相互信任的 因此
  • win10笔记蓝屏VIDEO_DXGKRNL_ERROR解决思路

    今天笔记本插电正常开机 打开怪物猎人游戏后提示缺少DirectX11 很疑惑 因为以前从来没有报这个错 随后过了不久笔记本就蓝屏 且始终不会自己重新启动 网上查了查都说是显卡硬件的问题 说什么显卡烧坏了 让拿去线下售后店修理 说的都很玄乎
  • 30天入门Python(基础篇)——第2天:Python安装(保姆级)与IDE的认识与选择+详细安装教程

    文章目录 专栏导读 上一节课回顾 1 Python解释器的安装 查看各个版本的Python解释器 ok 双击安装 这里我们选择 自定义 安装 下面的 将Python添加在环境变量 大家一定要打个勾 点击 Next 进行下一步 这里不建议安装
  • 《C++ Primer》学习笔记

    这次一定要完整学完 2022 8 24 像编辑器一样思考和理解C C 的编程风格 C风格 基于对象 面向对象 泛型和基于组件 初学建议 C Primer 和 C 标准程序库 Scott Meyers的 Effective C Anthony
  • Direct local .aar file dependencies are not supported when building an AAR.

    前言 起因 项目中含有视频播放功能 使用的是GSYVideoPlayer 因为公司网络问题经常依赖添加不了 所以将关于它的aar包全部下载下来直接本地依赖 因为多个业务都可能涉及视频播放功能 为了复用 就想着将视频播放的功能提取出来 通过F
  • 计算机vfp系统,计算机等级考试VFP教程:第一章数据库系统

    1 数据处理 数据 是对事实 概念或指令的一种特殊表达形式 可以用人工的方式或自动化的装置进行通信 翻译转换或者进行加工处理 它包括两类 一类是能参与数字运算的数值型数据 一类是不能参与数字运算的非数值型数据 如文字 图画 声音 活动图象等
  • 动态扩容Linux根目录 (解决/dev/mapper/cl_192-root 占用了过高问题)

    相信大家在运维centos服务器的时候经常会遇到根目录空间不足的现象 今天本人就针对此问题给出一个调整root分区大小的方案 操作如下 1 首先 必须确保其他分区有足够的空间用来分给根目录 可以使用以下命令查看 sudo df h 可以看到
  • java addservlet_Java ServletContext.addServlet方法代碼示例

    本文整理匯總了Java中javax servlet ServletContext addServlet方法的典型用法代碼示例 如果您正苦於以下問題 Java ServletContext addServlet方法的具體用法 Java Ser
  • 设计模式之装饰模式

    网上说JDK中的I O设计是最标准的装饰模式 所以今天打算研究一些装饰模式 乍一看怎么感觉和代理模式这么像呢 1 为什么需要装饰模式 在不必改变原类文件和使用继承的情况下 动态地扩展一个对象的功能 它是通过创建一个包装对象 也就是装饰来包裹
  • 关于Keil不识别系统头文件core_cm3.h的问题

    之前遇到一次这个问题 解决了 之后又遇到一次就忘了之前是怎么解决的了 所以记录一下 所有不识别系统头文件的问题都可以用这种方式解决 找到你工程目录下的头文件 我以core cm3 h为例 这个头文件在STM32 LIBRARY CMSIS
  • 这8点能教你如何更好地阅读代码

    我讨厌阅读别人的代码 是所有经验层级上的软件开发人员之间普遍存在的问题 然而 这又是一个必要的技能 特别是对于开发人员进入到现有的代码库中的时候 如果你以正确的角度和正确的工具来处理它 这可能是一个愉快和有启发性的体验 我们讨厌阅读别人的代
  • 类变量类型

    1 局部变量 在方法 构造方法 语句块中定义的变量 其声明和初始化在方法中实现 在方法结束后自动销毁 public class ClassName public void printNumber int a 其他代码 2 成员变量 定义在类
  • 解决jar包启动关闭窗口后停止项目问题

    项目以jar形式部署到服务器 通常会以这样的形式 java jar zpw 2 2 5 RELEASE jar 问题 当我们一关闭当前窗口就会停止运行项目 解决思路 在后台运行 解决方法 nohup java jar zpw 2 2 5 R
  • 计算次对角线元素平均值、折半查找(二分查找)、冒泡排序

    一 计算次对角线元素平均值 首先从键盘输入方阵的行数n 然后输入n行n列的整数保存到数组a中 最后计算方阵中次对角线元素的平均值并输出 输入格式 第一行输入方阵行数n 以下n行每行输入n个整数 以空格间隔 输出格式 输出平均值 保留两位小数
  • python之赋值、浅拷贝和深拷贝

    概念 python中的对象包含三个属性 id type和value id代表着对象唯一的标识符 是独一无二的 cpython中代表了存放对象的内存地址 type代表着对象的类型 比如说数字1的type就是int 字符串 abc 的type就
  • archetype-catalog.xml下载

    archetype catalog xml下载 archetype catalog xml下载 archetype catalog xml下载 https pan baidu com s 1HPjvvcOPv8vFPq31sANWng 提取
  • AOP-Chap17-Templates

    Chap17 Templates 1 Templated Functions 1 1 Instantiating Templated Functions 2 Templated Classes 2 1 Templates as Templa
  • SQli-labs 进阶 21-38关

    SQli labs 进阶 21 38关 LESS 21 拼接方式 id id 21关和20关本质上没有区别 但是是使用base64进行了编码 使用burp进行抓包 可以很明显看到 uname值为一串编码 利用burp自带的编码工具进行解码

随机推荐

  • SELECT连接查询和嵌套查询

    连接查询 同时涉及到两个及以上表的查询 语句 SELECT lt 列名1 gt lt 列名2 gt FROM lt 表1 gt lt 表2 gt lt 表3 gt WHERE lt 表名1 gt lt 列名1 gt lt 比较运算符 gt
  • mc服务器配置文件leveltype,zimg 服务器配置文件

    1 zimg server config 2 3 server config 4 是否后台运行 5 is daemon 1 6 绑定IP 7 ip 0 0 0 0 8 端口 9 port 4869 10 运行线程数 默认值为服务器CPU数
  • Python爬虫实战 爬取同城艺龙酒店信息

    1 爬虫说明 同城艺龙的反爬做的是非常好的 本博主在与同城艺龙进行了一整天的殊死搏斗才将其完全的爬下来 本博主是以无锡为例 将无锡的所有酒店的相关信息都爬了下来 共3399条酒店数据 当然其他城市也是可以的 只需要修改指定字段即可 本博主是
  • 阿里云视频vod.cn-beijing.aliyuncs.com (Domain name not found)

    今天edusoho网校系统突然爆 An exception has been thrown during the rendering of a template Server unreachable Errno 6 Could not re
  • Dynamics CRM 后台代码如何发邮件《 中秋快乐!》

    前面搞了邮箱的配置 那么就可以借助Dynamics CRM工作流来给用户发邮件了 比如签核提醒 什么的 对于这些收件人简单的固定且存在CRM中 比如用户或者联系人的 通过配置就可以实现 但是当邮件通知的人不在CRM中或者收件人cc复杂时 无
  • 记录xss练习 level1-level5(一)

    练习网址 http test xss tv 本人菜鸟一枚 如有分析不对的地方 望前辈们指正 话不投机 不对 话不多说直接上图 上分析 level1 很简单的一道题 从URL中我们可以分析到 xxx level1 php name test
  • 图像处理学习路线总结 python

    记录一下我的图像处理学习路线 后续有其他想法了再补充 目录 1 图像处理基础知识 1 1 数字图像处理公开课 2 利用opencv进行实现 2 1 在pycharm里安装opencv库 2 2 图像处理基础操作 2 2 1 读取图片 2 2
  • Android 控件最上层显示方法

    view bringToFront 可以讲布局在下层的控件放到上层 不被其他控件挡住
  • rails的一点点认识

    1 会开创新项目 rails new 名称 2 会创建控制类 rails g generate controller 类名 html文件名 3 会创建model rails g generate model 名称 散列属性key value
  • ipsec openswan资料搜集

    http blog csdn net rosetta article category 1190390 http blog chinaunix net uid 127037 list 1 html sid 136058 http blog
  • 大数据面试题(五)----HIVE面试题

    版权声明 本文为CSDN博主 北京小辉 的原创文章 遵循 CC 4 0 BY SA 版权协议 转载请附上原文出处链接及本声明 原文链接 https blog csdn net silentwolfyh article details 103
  • 在进入微信小程序之前显示登录页面的解决方案

    这几天想要在小程序进入之前做个登陆的页面 用户输入账号密码正确才能进入小程序 但是看了因为小程序一启动就是默认进入tabar里的第一个页面 上了百度查也是没有哦好的方式 自己琢磨了以下的几种方式 1 使用路由重定向 小程序中有几个用于重新向
  • Spring整合mybatis完整maven配置

    Spring整合mybatis完整maven配置 Maven配置 2022年1月23 基本都是最新版本
  • HTML 表单标签

    一 什么是表单标签 表单是用来采集用户的输入数据 然后将数据提交给服务器 二 表单的组成 一个表单有三个基本组成部分 表单标签 这里面包含了处理表单数据所用程序的URL以及数据提交到服务器的方法 表单域 包含了文本框 密码框 隐藏域 多行文
  • #1295-D: Deprecated declaration I2C_Start - give arg types

    KEIL5编译器报警告 警告内容如下 1295 D Deprecated declaration I2C Start give arg types 警告原因无参数函数的函数声明没有标明参数为void型 在函数声明中加入void即可 警告代码
  • 1.Kubernetes基础入门学习概述系统架构及组件浅析

    目录 0x00 基础简述 1 发展经历 2 简要介绍 3 系统架构 Borg 系统 Kubernetes 系统 0x01 组件浅析 1 Kubernetes Master 2 Kubernetes Node 3 Kubernetes 插件
  • Keras利用卷积神经网络(CNN)识别手写数字(环境python3.5)

    今天介绍如何利用卷积神经网络进行MNIST数据集的手写数字识别 即将手写数字图像images识别为数字标签labels 目录 数据预处理 模型建立 评估模型准确率 进行预测 建模思路如下图 数据预处理 MNIST数据集共有训练数据60 00
  • json to dart工具

    工具链接https javiercbk github io json to dart
  • 单片机开发---ESP32S3移植lvgl+触摸屏

    书接上文 单片机开发 ESP32 S3模块上手 本章内容 熟悉一下ESP32S3的开发 修改范例程序的lvgl 使之能够匹配现在的显示屏 具体工作大概为通过SPI接口连接一块SPI串口屏幕 并且适配lvgl 最后加上触摸屏作为输入 屏幕 用
  • 判断是pc端还是移动端

    Navigator对象 Navigator 对象包含有关浏览器的信息 下面的userAgent 属性是一个只读的字符串 声明了浏览器用于 HTTP 请求的用户代理头的值 所以我们可以通过判断navigator useragent里面是否有某