zblog制作响应式模板时常需要判断是移动端浏览器,使用PHP代码来进行判断,这样的好处是不会像js代码有隐藏的冗余代码,能提高页面的加载速度和seo的友好性,首先在你的zblog模板文件里面的include.php文件最后加入以下代码(如果没有则新建一个include.php文件):
- function ismobile() {
- if ( isset( $_SERVER[ 'HTTP_X_WAP_PROFILE' ] ) ) {
- return true;
- }
- if ( isset( $_SERVER[ 'HTTP_VIA' ] ) ) {
- return stristr( $_SERVER[ 'HTTP_VIA' ], "wap" ) ? true : false;
- }
- if ( isset( $_SERVER[ 'HTTP_USER_AGENT' ] ) ) {
- $clientkeywords = array( 'nokia', 'sony', 'ericsson', 'mot', 'samsung', 'htc', 'sgh', 'lg', 'sharp', 'sie-', 'philips', 'panasonic', 'alcatel', 'lenovo', 'iphone', 'ipod', 'blackberry', 'meizu', 'android', 'netfront', 'symbian', 'ucweb', 'windowsce', 'palm', 'operamini', 'operamobi', 'openwave', 'nexusone', 'cldc', 'midp', 'wap', 'mobile', 'MicroMessenger' );
- if ( preg_match( "/(" . implode( '|', $clientkeywords ) . ")/i", strtolower( $_SERVER[ 'HTTP_USER_AGENT' ] ) ) ) {
- return true;
- }
- }
- if ( isset( $_SERVER[ 'HTTP_ACCEPT' ] ) ) {
- if ( ( strpos( $_SERVER[ 'HTTP_ACCEPT' ], 'vnd.wap.wml' ) !== false ) && ( strpos( $_SERVER[ 'HTTP_ACCEPT' ], 'text/html' ) === false || ( strpos( $_SERVER[ 'HTTP_ACCEPT' ], 'vnd.wap.wml' ) < strpos( $_SERVER[ 'HTTP_ACCEPT' ], 'text/html' ) ) ) ) {
- return true;
- }
- }
- return false;
- }
复制代码
然后在模板中调用使用
- {if !ismobile()}
- <!--如果是PC端,则显示的内容写在这里-->
- {else}<!--pc end-->
- <!--这是移动端显示的内容,如下面的ul-->
- <ul>
- {$modules['navbar'].Content}
- </ul>
- {/if}
复制代码 |
上一篇:zblog文章初始浏览量自定义随机浏览次数修改方法下一篇:zblog判断百度蜘蛛还是真实用户访问代码,利于SEO优化的方法
|