公司安排做一个html的app下载页面,需要检测客户端,走不同的css布局,于是从网上搜点资料,简单汇总下,方便日后查阅。

  1) 响应式布局设置--@media only screen and

    only--限定某种设备

    screen--媒体设备的一种

     /* 常用类型 */
      类型 解释
      all 所有设备
      braille 盲文
      embossed 盲文打印
      handheld 手持设备
      print 文档打印或打印预览模式
      projection 项目演示,比如幻灯
      screen 彩色电脑屏幕
      speech 演讲
      tty 固定字母间距的网格的媒体,比如电传打字机
      tv 电视

      /* 常用设备 */
      设备 屏幕尺寸
      显示器 1280 x 800
      ipad 1024 x 768
      Android 800 x 480
      iPhone 640 x 960

      两种方式:
a):  <link rel="stylesheet" type="text/css" href="styleB.css" media="screen and (min-width: 600px) and (max-width: 800px)">
意思是当屏幕的宽度大于600小于800时,应用styleB.css
      b):   @media screen and (max-width: 600px) { /*当屏幕尺寸小于600px时,应用下面的CSS样式*/
             .class {background: #ccc;}}     Code:          

/* 检测小屏幕- */
@media only screen and (max-width: 760px) {#some-element { display: none; }
}

css code

$( document ).ready(function() {     var isMobile = false;//默认是pc端if( $('#some-element').css('display')=='none') {is_mobile = true;      }if (isMobile == true) {//对移动端进行处理
  }
});

Js Code

   2) navigator.userAgent字符串检测

1 var isMobile = false;//默认PC端
2 // 检测userAgent
3 if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|ipad|iris|kindle|Android|Silk|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(navigator.userAgent)
4     || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(navigator.userAgent.substr(0,4)))
5 {
6   isMobile = true;
7 }
8 if(isMobile){<br>  //移动端的处理逻辑<br>}

Js Code

   3) 检测移动端的TouchEvent事件

var isMobile = false;//默认PC端
function mobile() {try{document.createEvent("TouchEvent");return true;}catch(e){return false;    //PC端没有此事件,会创建失败
    }
}
isMobile=mobile();

Js Code

   4) 使用Device.js库

      github地址 https://github.com/matthewhudson/device.js

     

        

转载于:https://www.cnblogs.com/Andrew-XinFei/p/5555390.html

Html--判断客户端类型相关推荐

  1. web请求判断客户端类型

    2019独角兽企业重金招聘Python工程师标准>>> user_agent是Http协议中的一部分属于头域的组成部分.它是一个特殊字符串头,是一种向访问网站提供你所使用的浏览器类型 ...

  2. 第三方浏览器h5 android测试,H5案例分享:使用JS判断客户端、浏览器、操作系统类型...

    使用JS判断客户端.浏览器.操作系统类型 一.JS判断客户端类型 JS判断客户端是否是iOS或者Android手机移动端 通过判断浏览器的userAgent,用正则来判断手机是否是ios和Androi ...

  3. JS判断访问设备(userAgent)加载不同页面 JS判断客户端操作系统类型(platform)

    //平台.设备和操作系统var system ={win : false,mac : false,xll : false};//检测平台var p = navigator.platform;syste ...

  4. thinkphp5基本的一些操作/API友好/获取请求信息(Request)/判断请求类型(GET...)/验证参数数据(Validate)/连接数据库/原生sql语句查询

    文章目录 一.API友好 1.举两个thinkphp5关于API友好的例子 (1)数据输出 (2)错误调试Trace 二.获取请求信息(Request) 1.获取URL信息 2.获取 模块/控制器/操 ...

  5. SpringBoot 文件上传 通过Content-Type和文件头判断文件类型

    SpringBoot 文件上传 通过Content-Type和文件头判断文件类型 一.关于MIME MIME的全称是Multipurpose Internet Mail Extensions,即多用途 ...

  6. js判断ipad还是安卓_JS判断客户端是否是iOS或者Android或者ipad(三)

    32 } 腾讯网的适配代码 如何判断访问网站的机器类型-如何判断ipad JS 判断浏览器客户端类型(ipad,iphone,android) 腾讯网的适配代码 if(window.location. ...

  7. SDWebImage 判断图片类型

    SDWebImage 判断图片类型 判断文件类型方法基本有两种: 通过文件后缀来判断 (简单,快捷 但是不准确,之前 公司android 客户端禁止用户上传 GIF , 前端默认可以播放 GIF ,有 ...

  8. 前端如何判断浏览器类型及版本?

    前言 在网站前端开发中,浏览器兼容性问题让我们手忙脚乱,浏览器兼容性是前端开发框架要解决的第一个问题,要解决兼容性问题就得首先准确判断出浏览器的类型及其版本. JavaScript是前端开发的主要语言 ...

  9. php判断客户端是否为手机移动设备,php怎么判断客户端是pc还是移动设备

    php判断客户端是pc还是移动设备的方法:根据php的$_SERVER['HTTP_USER_AGENT']中的各种浏览器访问时所包含各个浏览器特定的字符串来判断是属于PC还是移动端. 本文操作环境: ...

  10. Silverlight 2 beta 2 中目前不支持共享 WCF 的客户端类型

    在调用多个 WCF Service 的时候经常会遇到的一个问题是,某些同样的类型因为在不同的 Service 里用到,就被重复生成了好几个版本的代理类型,分别处在不同的名称空间下. 这样,如果一个操作 ...

最新文章

  1. 阿里云推荐引擎使用教程
  2. 数字信号处理基础知识之DFT、DTFT、DFS、FFT基本概念扫盲
  3. c语言字符数组不写,C语言数组
  4. 教你一种U盘病毒的快速检测方法
  5. 【2020模拟考试T5】【PAT乙】1035 插入与归并 (25分) 两种排序的sort写法
  6. Python统计磁盘代码文件行数
  7. 基于Android手机近距离感应器的俯卧撑计数器
  8. 大学四年因为读了这13本书,我成了别人眼中的大神!
  9. Spring Boot启动参考指南(官方版)
  10. 可缩放矢量图形svg
  11. java verbose gc_java –verbose:gc
  12. 顺序表的初始化、插入、删除、查找
  13. 十进制和二进制如何换算?
  14. 编写一程序,将两个字符串连接起来,结果取代第一个字符串。(三种方法)
  15. 中秋节后如何有面子的带女票回家?
  16. Java清空文件内容
  17. 微端是什么意思?微端对服务器性能配置要求
  18. 特朗普:我是“A+” 谷歌评价:“白痴”-千氪
  19. Linux服务器12小时制转24小时制
  20. 35条心理暗示让你摆脱坏心情,做快乐的自己

热门文章

  1. 这里,陌生人发的动态比朋友圈有趣多了!
  2. Python教你从0搭建微信推送斗鱼直播提醒(单房间简化版)
  3. java 字母金字塔_打印大写字母三角形
  4. 电力爱陆通公专一体模块,国网加密模块,国网硬件加密模块的工作原理
  5. 基于php+mysql的校园木本植物检索查询统
  6. 降低数据压力的几种解决方案
  7. 降低数据库压力的方法
  8. 和李兄之《定风波· 冬峦轻寒桂落香》一首
  9. 美团技术团队当家运营:美美正式出道啦(含福利)
  10. 清华计算机徐华简介,徐华