TP5框架页面跳转样式操作示例

本文实例讲述了TP5框架页面跳转样式操作。分享给大家供大家参考,具体如下:

1、效果图

2、上干货

为了增加对移动设备的支持,在  /application/common.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'
      );
    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;
}

替换模板(  找到文件 /thinkphp/tpl/dispatch_jump.tpl  ,删除里面的全部代码,加入下面代码)

{__NOLAYOUT__}<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=0.5, maximum-scale=2.0, user-scalable=yes" />
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title>跳转提示</title>
  <?php if(isMobile()==true){?>
  <style type="text/css">
    body, h1, h2, p,dl,dd,dt{margin: 0;padding: 0;font: 15px/1.5 微软雅黑,tahoma,arial;}
    body{background:#efefef;}
    h1, h2, h3, h4, h5, h6 {font-size: 100%;cursor:default;}
    ul, ol {list-style: none outside none;}
    a {text-decoration: none;color:#447BC4}
    a:hover {text-decoration: underline;}
    .ip-attack{width:100%; margin:200px auto 0;}
    .ip-attack dl{ background:#fff; padding:30px; border-radius:10px;border: 1px solid #CDCDCD;-webkit-box-shadow: 0 0 8px #CDCDCD;-moz-box-shadow: 0 0 8px #cdcdcd;box-shadow: 0 0 8px #CDCDCD;}
    .ip-attack dt{text-align:center;}
    .ip-attack dd{font-size:16px; color:#333; text-align:center;}
    .tips{text-align:center; font-size:14px; line-height:50px; color:#999;}
  </style>
<?php }else{ ?>
<style type="text/css">
    body, h1, h2, p,dl,dd,dt{margin: 0;padding: 0;font: 15px/1.5 微软雅黑,tahoma,arial;}
    body{background:#efefef;}
    h1, h2, h3, h4, h5, h6 {font-size: 100%;cursor:default;}
    ul, ol {list-style: none outside none;}
    a {text-decoration: none;color:#447BC4}
    a:hover {text-decoration: underline;}
    .ip-attack{width:600px; margin:200px auto 0;}
    .ip-attack dl{ background:#fff; padding:30px; border-radius:10px;border: 1px solid #CDCDCD;-webkit-box-shadow: 0 0 8px #CDCDCD;-moz-box-shadow: 0 0 8px #cdcdcd;box-shadow: 0 0 8px #CDCDCD;}
    .ip-attack dt{text-align:center;}
    .ip-attack dd{font-size:16px; color:#333; text-align:center;}
    .tips{text-align:center; font-size:14px; line-height:50px; color:#999;}
  </style>
<?php }?>

</head>
<body>
  <div class="ip-attack"><dl>
    <?php switch ($code) {?>
      <?php case 1:?>
      <dt style="color: green"><?php echo(strip_tags($msg));?></dt>
      <?php break;?>
      <?php case 0:?>
      <dt style="color: red"><?php echo(strip_tags($msg));?></dt>
      <?php break;?>
    <?php } ?>
    <br>
    <dt>
      页面自动 <a id="href" href="<?php echo($url);?>" rel="external nofollow" >跳转</a> 等待时间: <b id="wait"><?php echo($wait);?></b>
    </dt></dl>
  </div>
  <script type="text/javascript">
    (function(){
      var wait = document.getElementById('wait'),
        href = document.getElementById('href').href;
      var interval = setInterval(function(){
        var time = --wait.innerHTML;
        if(time <= 0) {
          location.href = href;
          clearInterval(interval);
        };
      }, 1000);
    })();
  </script>
</body>
</html>

3、over over over!!!

更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

(0)

相关推荐

  • ThinkPHP跳转页success及error模板实例教程

    本文以实例讲解了ThinkPHP跳转页面的success与error方法所对应的视图与控制器的实现方法,通过本实例教程可以帮助读者更好的掌握success方法与error方法的使用. 首先是控制器中,可以使用下代码: <?php // 本文档自动生成,仅供测试运行 class IndexAction extends Action { /** +---------------------------------------------------------- * 默认操作 +----------

  • ThinkPHP页面跳转success与error方法概述

    ThinkPHP自身提供了success方法与error方法用于实现带提示信息的页面跳转功能,可实现添加数据后显示提示信息并跳转的效果.success 方法用于操作成功后的提示,error 用于操作失败后的提示,二者使用方法完全一致,下面以success 方法来进行说明. 1.success方法   success方法语法如下: success(message, ajax)  参数说明message可选.页面提示信息.ajax可选.是否AJAX 方式提交,默认为false . 如果是AJAX 方

  • thinkphp中的url跳转用法分析

    本文实例分析了thinkphp中的url跳转用法.分享给大家供大家参考,具体如下: 最先想到的是a标签里面的target属性,_blank时,可以在新的lab窗体中打开新的页面 但是现在要在php文件里面跳转, $this->redirect('/Supperman/outerMan'); $this->display('Supperman:outerMan'); 这两者都只是在当前页面打开新的页面 然后又试了一下: header('Location:'.U('/Supperman/outer

  • ThinkPHP3.2.3框架实现的空模块、空控制器、空操作,跳转到错误404页面图文详解

    本文实例讲述了ThinkPHP3.2.3框架实现的空模块.空控制器.空操作,跳转到错误404页面.分享给大家供大家参考,具体如下: [演示准备] 首先下载了一个ThinkPHP3.2.3,目录结构如下:(只有Home模块.Index控制器.index操作方法) 然后找了一个简易的错误404页面404.html放到了根目录: [空模块] 访问一个不存在的模块Admin,错误提示: 修改根目录下 ThinkPHP/Library/Think/Dispatcher.class.php 178行代码:

  • ThinkPHP3.1.x修改成功与失败跳转页面的方法

    本文实例讲述了ThinkPHP3.1.x修改成功与失败跳转页面的方法.分享给大家供大家参考,具体如下: 在ThinkPHP中,成功与失败的提示页面已经自带.在Action方法中自动调用即可. 比如在Lib\Action有如下的SucErrAction.class.php: <?php class SucErrAction extends Action{ public function index(){ $this->display(); } public function success1()

  • ThinkPHP5.1框架页面跳转及修改跳转页面模版示例

    本文实例讲述了ThinkPHP5.1框架页面跳转及修改跳转页面模版.分享给大家供大家参考,具体如下: 对应的控制器 创建对应的HTML 比如: admin(模块)/lpp(控制器)/index(方法) 对应的html文件: view->lpp->index.html 1.index.html布局 <form action="{:url('bbc')}" method="post"> <h3>用户登录界面</h3> &l

  • thinkphp5使html5实现动态跳转的例子

    1.从数据库取数据 在application/模块名/controller/控制器名/方法名中对数据库进行获取,这里为了方便,举例为application/modulea/controller/x/test $result = Db::name('data')->where('uid',session('xx.uid'))->select(); 数据传递 这里可以是标题栏的数据,然后就通过 $this->assign('data', $result); 这种方式可以传递到 applica

  • thinkphp5框架调用其它控制器方法 实现自定义跳转界面功能示例

    本文实例讲述了thinkphp5框架调用其它控制器方法 实现自定义跳转界面功能.分享给大家供大家参考,具体如下: Loader::action('common/successTips',['mess' => '登录','url'=> 'manage/diary/diarys']); //公共目录common /** * 操作成功 * @param string $mess * @param string $url * @return mixed */ public function succe

  • 解决thinkPHP 5 nginx 部署时,只跳转首页的问题

    在使用tp5时候把它部署到服务器上发现一个奇葩的事情,就是它默认访问config配置的默认页,无论怎么跳转到其他接口都不好使,最终重写了  Nginx 的配置文件解决了这个问题 server{ listen 80; server_name www.XXXX.com; index index.php index.html index.htm; root /var/www/didu; location ~ \.php #原来这个里有"$" 去掉就ok { #fastcgi_pass uni

  • thinkPHP5(TP5)实现改写跳转提示页面的方法

    本文实例讲述了thinkPHP5(TP5)实现改写跳转提示页面的方法.分享给大家供大家参考,具体如下: 大家都知道Tp框架一直以来的执行成功和失败的页面都不是特别的好看,不过这样也给了开发者一个不错的选择我们可以根据自己的喜好去改写这个跳转提示的页面 我使用的是Tp5框架,Tp5的跳转提示页面的改写和Tp3的有异曲同工之妙,首先还是先看一下Tp框架中自带的跳转提示页面的代码吧,我直接贴上了: {__NOLAYOUT__}<!DOCTYPE html PUBLIC "-//W3C//DTD

  • ThinkPHP访问不存在的模块跳转到404页面的方法

    首先在ACTION中新建一个文件EmptyAction.class.php,其代码如下: <?php class EmptyAction extends Action{ function _empty(){ header("HTTP/1.0 404 Not Found");//使HTTP返回404状态码 $this->display("Public:404"); } } ?> 使用apache服务器的情况下需在apache中的网站配置中加入 Err

  • thinkphp制作404跳转页的简单实现方法

    网上有很多thinkphp的404页面制作方法,但大多太过繁琐不简便,很烦人,所以为大家分享了最便捷的404制作方法,如下. 在thinkphp的公共目录的config配置文件中增加配置项: 'TMPL_EXCEPTION_FILE' => 'Public/404.html', 在Public文件夹中创建404.html内容如下 <!DOCTYPE html > <html> <head> <meta charset=utf-8" /> &l

随机推荐