Nick_0017

样式里可以用@media screen这个判断设备屏幕宽度进行不同的样式自定义(@import导入不同样式)。js或php里可以用$_SERVER['USER_AGENT']获取浏览器USERAGENT,用正则匹配判断下面是百度出的一个根据UERAGENT来判断浏览器类型的函数:function my_get_browser(){

if(empty($_SERVER['HTTP_USER_AGENT'])){

return '非浏览器访问。';

}

if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'MSIE 9.0')){

return 'Internet Explorer 9.0';

}

if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'MSIE 8.0')){

return 'Internet Explorer 8.0';

}

if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'MSIE 7.0')){

return 'Internet Explorer 7.0';

}

if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'MSIE 6.0')){

return 'Internet Explorer 6.0';

}

if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'Firefox')){

return 'Firefox';

}

if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'Chrome')){

return 'Chrome';

}

if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'Safari')){

return 'Safari';

}

if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'Opera')){

return 'Opera';

}

if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'360SE')){

return '360SE';

}

if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'iphone')){

return 'iphone';

}

if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'ipad')){

return 'ipad';

}

if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'android')){

return 'android';

}

}

$useragent = my_get_browser();

//判断浏览器是否手机

if($useragent == 'iphone' || $useragent == 'ipad' || $useragent == 'android'){

//导入手机的样式和js文件

}else{

//导入电脑的样式和js文件

}下面是百度出的另一个判断是否移动设备的类:<?php

/**

* Mobile Detect

* @license      http://www.opensource.org/licenses/mit-license.php The MIT License

*/

class Mobile_Detect

{

protected $accept;

protected $userAgent;

protected $isMobile = false;

protected $isAndroid = null;

protected $isAndroidtablet = null;

protected $isIphone = null;

protected $isIpad = null;

protected $isBlackberry = null;

protected $isBlackberrytablet = null;

protected $isOpera = null;

protected $isPalm = null;

protected $isWindows = null;

protected $isWindowsphone = null;

protected $isGeneric = null;

protected $devices = array(

"android" => "android.*mobile",

"androidtablet" => "android(?!.*mobile)",

"blackberry" => "blackberry",

"blackberrytablet" => "rim tablet os",

"iphone" => "(iphone|ipod)",

"ipad" => "(ipad)",

"operamobi" => "opera (mini|mobi)",

"palm" => "(avantgo|blazer|elaine|hiptop|palm|plucker|xiino)",

"windows" => "windows ce; (iemobile|ppc|smartphone)",

"windowsphone" => "windows phone os",

"generic" => "(kindle|mobile|mmp|midp|pocket|psp|symbian|smartphone|treo|up.browser|up.link|vodafone|wap|opera mini)"

);

public function __construct()

{

$this->userAgent = $_SERVER['HTTP_USER_AGENT'];

$this->accept = $_SERVER['HTTP_ACCEPT'];

if (isset($_SERVER['HTTP_X_WAP_PROFILE']) || isset($_SERVER['HTTP_PROFILE'])) {

$this->isMobile = true;

} elseif (strpos($this->accept, 'text/vnd.wap.wml') > 0 || strpos($this->accept, 'application/vnd.wap.xhtml+xml') > 0) {

$this->isMobile = true;

} else {

foreach ($this->devices as $device => $regexp) {

if ($this->isDevice($device)) {

$this->isMobile = true;

}

}

}

}

/**

* Overloads isAndroid() | isAndroidtablet() | isIphone() | isIpad() | isBlackberry() | isBlackberrytablet() | isPalm() | isWindowsphone() | isWindows() | isGeneric() through isDevice()

*

* @param string $name

* @param array $arguments

* @return   bool

*/

public function __call($name, $arguments)

{

$device = substr($name, 2);

if ($name == "is" . ucfirst($device) && array_key_exists(strtolower($device), $this->devices)) {

return $this->isDevice($device);

} else {

trigger_error("Method $name not defined", E_USER_WARNING);

}

}

/**

* Returns true if any type of mobile device detected, including special ones

* @return   bool

*/

public function isMobile()

{

return $this->isMobile;

}

protected function isDevice($device)

{

$var = "is" . ucfirst($device);

$return = $this->$var === null ? (bool) preg_match("/" . $this->devices[strtolower($device)] . "/i", $this->userAgent) : $this->$var;

if ($device != 'generic' && $return == true) {

$this->isGeneric = false;

}

return $return;

}

}

$mb = new Mobile_Detect();

if($mb->isMobile()){

//导入手机的样式和js文件

}else{

//导入电脑的样式和js文件

}

php判断百度ua展示不同页面,PHP 如何根据UA展示不同的前端模板相关推荐

  1. 13.tornado操作之增加用户喜欢的图片展示页+同时展示用户上传的所有图片增加展示图片有多少用户喜欢的功能

    目录: 第一部分:增加用户喜欢的图片展示页 1.基本步骤先走起来--视图+接口+前端模板 (1)编写视图ProfileHandler: (2)编写接口:(app.py文件中加入以下接口) (3)编写前 ...

  2. 爱番番/百度商桥-当前页面弹窗展示demo

    爱番番,百度商桥改名之后的产物. 百度商桥不细说了,自己去网站配置拿到自己的商桥链接(类似这样的):https:  //p.qiao.baidu.com/cps5/chat?siteId=11111& ...

  3. 美多商城之购物车(展示商品页面简单购物车)

    三.展示商品页面简单购物车 需求:用户鼠标悬停在商品页面右上角购物车标签上,以下拉框形式展示当前购物车数据. 3.1. 简单购物车数据接口设计和定义 1.请求方式 选项 方案 请求方法 GET 请求地 ...

  4. php 偷偷转移别人权重,判断百度蜘蛛偷偷进行301转移权重 给新站提权

    功能说明 1.判断蜘蛛跳转 2.支持多个域名随机跳转 3.判断百度搜索进去不进行跳转(防止被发现) 4.正常浏览器访问不跳转 5.过安全狗防护 使用方法 以下代码新建为:useragent.func. ...

  5. 如何开发一个用户脚本系列(3)——脚本一:百度首页和搜索页面添加 Google 搜索框...

    2019独角兽企业重金招聘Python工程师标准>>> 在本系列的前两篇文章中,我们对用户脚本以及开发脚本前应该掌握的基础知识进行了介绍.从这篇文章开始,将以已发布可用的脚本为基础, ...

  6. 抓取百度页面html,百度会抓取页面代码中的注释内容吗

    百度会抓取页面代码中的注释内容吗 内容导读:百度会抓取页面代码中的注释内容吗?答案是百度会抓取,但是在提取正文的时候会直接忽略掉,也就是说页面代码的注释内容不会影响到页面质量,所以大家尽管放心. 问题 ...

  7. 阿语python美多商城-商品-购物车管理之第7.3节展示商品页面简单购物车

    展示商品页面简单购物车 需求:用户鼠标悬停在商品页面右上角购物车标签上,以下拉框形式展示当前购物车数据. 1. 简单购物车数据接口设计和定义 1.请求方式 选项 方案 请求方法 GET 请求地址 /c ...

  8. html 显示天气预报,前端HTML页面获取实时天气预报并展示

    前端HTML页面获取实时天气预报并展示 昨天完成了一个实时显示天气预报的功能,今天在这完记录一下,纯前端layui和JQuery代码.没有后台交互 获取用户打开页面的IP地址进行定位城市. 试了很多方 ...

  9. Vue+element-ui上传logo图片到后端生成二维码展示到页面

    Vue+element-ui上传logo图片生成二维码展示到页面 该文章将介绍如何通过前端上传二维码logo图片在后台生成二维码,并将生成的二维码转换成Base64编码返回给前端在页面展示,用户扫码二 ...

最新文章

  1. 一个最简单的 Github workflow 例子
  2. rtl support
  3. 敏捷开发模式下如何更好的进行测试
  4. 让UILabel的文字顶部对齐
  5. Python Flask Web 第三课 —— 模板
  6. LINK : fatal error LNK1168
  7. ADS仿真设计AB类射频功率放大器
  8. mkcert在windows系统上制作SSL证书
  9. 对于PS色彩调整的初步认识
  10. 网络割接方案模板(范文)
  11. 机器学习这10年我们能在各自的领域做点什么?
  12. 测试测量 | 【四】如何实现生产过程中的自动化测试?——保证高频信号的准确传输
  13. Linux I/O编程
  14. [原创]SP的前途??(猛回头,警世钟)[转贴]
  15. cve查询_CVE年满21岁:如何实现这一里程碑
  16. 如何用html5绘制圆形图片,javascript – 如何使用html5画布绘制连续的圆形图案
  17. oracle的insert写法,Oracle中Insert语句的总结
  18. MFC 绘制半透明图片
  19. JavaFX店铺管理软件
  20. 计算机考研报师范类大学好吗,想考师范类的研究生都有哪些大学招

热门文章

  1. UI实用素材|下拉菜单细节设计,分层呈现
  2. 虚拟dom_虚拟DOM与dom diff
  3. 牛客网编程题07--提取不重复的整数
  4. Python--MySql学习(10.30)
  5. 分级时间轮优化普通时间轮定时器
  6. c语言排序算法_C语言写排序算法(二) —— 选择排序
  7. 3d旋转相册代码源码_用代码制作3d相册签到墙(附源码)
  8. 为什么调用webservice接口只有 string arg0_快速开发平台中关于支持第三方接口开发的指导
  9. 完成计算机组装工艺卡组装准备,计算机组装与维护(刘猛)教程方案.doc
  10. linux使用jinja2模板_linux下安装python组件之jinja2