首页那张大图确实是一个比较头疼的问题

在PC上显示是没问题的,可是到手机上就会超出页面一大截,如果做自适应,图片会被强制压缩

无奈只能用wp_is_mobile()函数在手机上隐藏了这张图,可是这函数似乎对iPad不管用

在iPad Air等高分辨率设备还好,在iPad2这类低分辨率设备上可就惨了

于是我决定自写一段代码解决这个问题

判断代码

我将使用Windows系统的设备定为PC,毕竟博客面向中国用户,大部分家用设备还是用的Windows系统

原理是判断浏览器提交的USER AGENT

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
//获取USER AGENT
$agent = strtolower($_SERVER['HTTP_USER_AGENT']);
 
//分析数据
$is_pc = (strpos($agent, 'windows nt')) ? true : false;  
$is_iphone = (strpos($agent, 'iphone')) ? true : false;  
$is_ipad = (strpos($agent, 'ipad')) ? true : false;  
$is_android = (strpos($agent, 'android')) ? true : false;  
 
//输出数据
    if($is_pc){  
        echo "这是PC";  
    }  
    if($is_iphone){  
        echo "这是iPhone";  
    }  
    if($is_ipad){  
        echo "这是iPad";  
    }  
    if($is_android){  
        echo "这是Android";  
    }  
?>

使用方法

大家将echo语句换成每个设备上需要输出的语句就可以了

若不需要对该设备进行单独设定,删除对应它的if代码即可

禁止WP Super Cache缓存首页

由于WP Super Cache会对首页进行缓存

导致判断代码失效,我们必须禁止它对首页的缓存

1、进入设置-WP Super Cache

2、高级选项,找到底部的“已被接受的文件名和拒绝的URI”

3、勾选其中的主页(is_home)

4、点击保存按钮,再选择顶部的内容选项,点击“删除缓存”即可

5、若有需要,进入预缓存选项,点击“立即预加载缓存”

利用PHP判断iPhone、iPad、Android、PC设备的更多相关文章

  1. iPhone/iPad/Android UI尺寸规范 UI尺寸规范,UI图标尺寸,UI界面尺寸,iPhone6尺寸,iPhone6 Plus尺寸,安卓尺寸,iOS尺寸

    iPhone/iPad/Android UI尺寸规范 UI尺寸规范,UI图标尺寸,UI界面尺寸,iPhone6尺寸,iPhone6 Plus尺寸,安卓尺寸,iOS尺寸 iPhone界面尺寸 设备 分辨 ...

  2. 移动端App开发 - 02 - iPhone/iPad/Android UI尺寸规范

    移动端app开发 - iPhone/iPad/Android UI尺寸规范 本笔记抛去无用的前期分析什么的,全是干货,简洁干练 本笔记不单独针对 ios 或者 Android,两种都介绍,当然我们实际 ...

  3. JQ实现判断iPhone、Android设备

    最近做了一版微信宣传页,通过JQ来判断设备,并进行下载 微信内置浏览器对下载链接进行了屏蔽,所以先进行判断,如果是微信内置浏览器,则跳转应用宝链接,如果不是,则判断是iPhone/Adroid/PC ...

  4. iPhone/iPad/Android UI尺寸规范

    iPhone界面尺寸

  5. nginx 判断移动端或者PC端 进入不同域名

    自己最近用node.js + react 做了个网站.在PC端上的访问是这样的: 手机访问居然是这样的: 这样用户体验很不好. 所以做了一个移动端的版本. 需求: 需要判断用户是否手机还是电脑 访问网 ...

  6. 【Openvpn】iOS OpenVPN客户端设置指南(适用iPhone/iPad)

    适用于iPhone/iPad/这些iOS设备.之前iOS使用OpenVPN是需要越狱的,并且是付费第三方应用. 去年开始OpenVPN官方推出了iOS客户端就好用多了,免费也无需越狱. 说明:如果是新 ...

  7. JS判断设备终端(PC,iPad,iPhone,android,winPhone)和浏览器

    JS判断设备终端(PC,iPad,iPhone,android,winPhone)和浏览器 var ua = navigator.userAgent; var browser = {}, weixin ...

  8. PHP判断iPhone、iPad、Android、PC设备的方法

    因为工作需要我们需要知道是什么样了用户访问了我网站了,现在的移动设备种类多了,下面我们一起来看小编整理的一段php判断iPhone.iPad.Android.PC设备的例子. 注意:本代码的PC系统为 ...

  9. JQuery 判断IPad、IPhone、Android是横屏还是竖屏(Window.Orientation实现)

    在ipad.iphone网页开发中,我们很可能需要判断是横屏或者竖屏.下面就来介绍如何用 jQuery 判断iPad.iPhone.Android是横屏还是竖屏的方法. 代码如下: function ...

随机推荐

  1. 关于Relay Log无法自动删除的问题

    本文介绍了一次运维实践中relay-log长期无法自动删除的原因和解决过程 背景: 今天在运维一个mysql实例时,发现其数据目录下的relay-log 长期没有删除,已经堆积了几十个relay-lo ...

  2. Matplotlib基本图形之条形图2

    Matplotlib基本图形之条形图2 1.绘制多条条形图 示例代码: import time import numpy as np import matplotlib.pyplot as plt b ...

  3. 九度oj 题目1017:还是畅通工程

    题目描述:     某省调查乡村交通状况,得到的统计表中列出了任意两村庄间的距离.省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可 ...

  4. BZOJ 2882 工艺 ——后缀自动机 最小表示法

    先说后缀自动机的做法. 直接把S串复制一遍成SS,然后建立后缀自动机,go边相当于在当前字符的后面插入,而son边可以看作在字符串前面加一个字符. 所以贪心的走字典序最小的边即可,而且根据后缀自动机的 ...

  5. haskell 乱搞(2)之 Y-conbinator [原创]

    Y-conbinator"有没有用"?并没有,在大多数支持函数式编程的语言里,你可以自由的使用递归,而这货只是作为理论基石弥散在函数式编程的血肉之中 这是数学笔记,这是数学笔记,这 ...

  6. oracle连接封装方法

    public static void updateSqlOracle(String sqlstr,String linkIP,String username,String password) thro ...

  7. poj 1031 多边形对点(向周围发射光线)的覆盖

    Fence Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 3018   Accepted: 1010 Description ...

  8. 【bzoj4004】【JLOI2015】装备购买 (线性基+高斯消元)

    Description 脸哥最近在玩一款神奇的游戏,这个游戏里有 n 件装备,每件装备有 m 个属性,用向量zi(aj ,.....,am) 表示 (1 <= i <= n; 1 < ...

  9. 远程管理 KVM 虚机

    上一节我们通过 virt-manager 在本地主机上创建并管理 KVM 虚机.其实 virt-manager 也可以管理其他宿主机上的虚机.只需要简单的将宿主机添加进来 填入宿主机的相关信息,确定即 ...

  10. 使用Reachability检测网格

    
#pragma mark - 网络连接检查 - (void) currentReach { // 网络检测 Reachability *curReach = [Reachability reacha ...