phile / user-agent
Phile的插件,用于将浏览器用户代理数据暴露给模板。
dev-master
2014-06-19 13:25 UTC
Requires
This package is auto-updated.
Last update: 2024-08-29 03:47:33 UTC
README
此插件用于Phile,以将浏览器用户代理数据暴露给模板。
1.1 安装(composer)
php composer.phar require phile/user-agent:*
1.2 安装(下载)
- 安装Phile的最新版本
- 将此仓库克隆到
plugins/phile/userAgent
2. 激活
安装插件后,您需要将以下行添加到您的config.php
文件中
$config['plugins']['phile\\userAgent'] = array('active' => true);
用法
此插件将在您的模板中创建一个新的变量,名为{{ useragent }}
。
您可以使用此变量来加载条件内容,添加特殊类,甚至修改javascript。
暴露的信息
以下是一个示例(从我笔记本电脑的完整用户代理数组)
array( 'useragent' => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.6 Safari/537.36', // full useragent string 'name' => 'Google Chrome', // name of the browser 'browser' => 'google-chrome', // css safe browser name 'version' => '32.0.1700.6', // browser version number 'type' => 'desktop', // form factor browser || mobile 'platform' => 'mac', // Operating System 'pattern' => '#(?<browser>Version|Chrome|other)[/ ]+(?<version>[0-9.|a-zA-Z.]*)#' // regex pattern that matched );
条件内容
{% if useragent.type == 'desktop' %} <div class="desktop-header-image"> <img src="images/desktop.jpg" alt="desktop screenshot"> </div> {% else %} <div class="mobile-header-image"> <img src="images/mobile.jpg" alt="mobile screenshot"> </div> {% endif %}
特殊类
<body class="{{ useragent.platform }} {{ useragent.type }}"> <div class="content"> {{ content }} </div> </body>
JavaScript添加
如果我们把这段代码放在文档的head部分,我们可以将{{ useragent }}
数组编码为json并在javascript中使用它
<script type="text/javascript"> window.Phile.useragent = {{ useragent|json_encode() }}; </script>
现在在javascript中,Phile.useragent.browser
会返回CSS安全的浏览器名称。