WordPress 根据浏览器 user-agent 按需加载CSS 文件
在进行前端开发的时候,为了兼容性,比如hack 那个讨厌的IE 浏览器,我们常常需要<!--[if IE X]>
这类IE 判断代码来实现hack 的效果。而在WordPress 中,我们可以借助PHP 的功能,通过判断浏览器user-agent 来按需加载CSS 文件——如此不仅仅只是对IE hack,对于chrome 、firefox 等主流浏览器也可以实现不同的样式效果。
先看下面的代码,添加到主题的functions.php 文件下:
function dw_enqueue_styles() { global $wp_styles; if (!is_admin()) { // ua vars global $is_lynx, $is_gecko, $is_IE, $is_opera, $is_NS4, $is_safari, $is_chrome, $is_iphone; // chrome if ($is_chrome) { wp_register_style('chrome', get_template_directory_uri() .'/chrome.css', false, null); wp_enqueue_style('chrome'); } } } add_action('wp_print_styles', 'dw_enqueue_styles'); |
---|
上面的代码应该很容易看懂,具体不解释了;如果你想对chrome 浏览器进行CSS hack,将CSS 代码以chrome.css 保存在主题目录下;如果用户的浏览器是chrome 浏览器,便会加载该chrome.css 文件,非chrome 浏览器绝对不加载——除非浏览器伪装user-agent 。
类似的,对于其他浏览器,则这么写法:
// mozilla firefox 火狐 if ($is_gecko) { wp_register_style('mozilla', get_template_directory_uri() .'/mozilla.css', false, null); wp_enqueue_style('mozilla'); } // safari if ($is_safari) { wp_register_style('safari', get_template_directory_uri() .'/safari.css', false, null); wp_enqueue_style('safari'); } //IE 浏览器 if ($is_IE) { wp_register_style('ie', get_template_directory_uri() .'/ie.css', false, null); wp_enqueue_style('ie'); } |
---|
这么说来,如果想对不同浏览器进行不同的样式展示,这个是再好不过的方法了。
代码最初来源自WP-MIX ,感谢原作者。
- 深度学习胸部x射线
- C+实现神经网络之壹—Net类的设计和神经网络的初始化
- 死亡不可避免,但何时死,人工智能或有发言权
- 打开手机的这个功能,微信支付宝不怕盗刷!
- 手把手教你cuda5.5与VS2010的编译环境搭建
- Apache实现反向代理负载均衡
- linux下Apache服务器使用入门----httpd.conf
- linux下JBOSS使用入门
- CentOS下重新安装JDK,避免OpenJDK干扰
- linux虚拟机与winodows共享文件夹----linux安装VMware tools
- 虚拟机vmware与本地磁盘共享方法
- ADX3000二层的负载均衡设计问题
- cuda by example
- ADX3000的组网配置
- HTML 教程
- HTML 简介
- html div 标签介绍
- html span 标签介绍
- html a 超链接标签
- HTML Br换行标签介绍
- HTML P段落标签介绍
- HTML br与p标签区别
- Html H 标题标签
- html px em pt长度单位
- HTML form 标签
- HTML radio 单选框
- HTML B 加粗标签
- HTML strong加粗粗体标签
- HTML em 强调标签
- HTML i 斜体标签
- HTML u下划线标签
- HTML s 删除线标签
- Html img 图片标签
- Html上标注sup与下标注sub标签
- HTML nobr 禁止换行标签
- HTML hr 水平线标签
- HTML label 标签
- HTML input 标签
- HTML textarea 标签
- HTML select下拉列表标签
- HTML checkbox 多选框
- HTML font color 标签
- HTML iframe 框架标签
- HTML Table 表格
- HTML dl dt dd 标签
- HTML ol li有序列表标签
- HTML ul li 无序列表标签
- HTML 注释
- CSS 教程
- CSS 简介
- CSS 语法
- CSS Id 和 Class选择器
- CSS 样式的创建
- CSS background 背景介绍
- CSS 文本样式
- CSS font 字体
- CSS A 链接
- CSS ul ol列表样式
- CSS TABLE 样式
- CSS 框模型
- CSS border 边框
- CSS Outlines 轮廓
- CSS 外边距 Margin
- CSS Padding 内边距
- CSS 分组和嵌套选择器
- CSS 尺寸 (Dimension)
- CSS Display 属性
- CSS Position 定位
- CSS Float 浮动
- CSS 水平对齐(Horizontal Align)
- CSS 组合选择符
- CSS 伪类
- CSS 伪元素
- CSS 导航栏
- CSS 下拉菜单
- CSS 图片廊
- CSS 图像透明/不透明
- CSS sprite 图像拼合技术
- CSS 媒体类型
- CSS 属性选择器
- CSS 实例