温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

thinkPHP5如何实现改写跳转提示页面

发布时间:2021-07-08 09:18:58 来源:亿速云 阅读:87 作者:小新 栏目:开发技术

这篇文章主要介绍了thinkPHP5如何实现改写跳转提示页面,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

具体如下:

大家都知道Tp框架一直以来的执行成功和失败的页面都不是特别的好看,不过这样也给了开发者一个不错的选择我们可以根据自己的喜好去改写这个跳转提示的页面

我使用的是Tp5框架,Tp5的跳转提示页面的改写和Tp3的有异曲同工之妙,首先还是先看一下Tp框架中自带的跳转提示页面的代码吧,我直接贴上了:

{__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 http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <title>跳转提示</title>
 <style type="text/css">
  *{ padding: 0; margin: 0; }
  body{ background: #fff; font-family: "Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif; color: #333; font-size: 16px; }
  .system-message{ padding: 24px 48px; }
  .system-message h2{ font-size: 100px; font-weight: normal; line-height: 120px; margin-bottom: 12px; }
  .system-message .jump{ padding-top: 10px; }
  .system-message .jump a{ color: #333; }
  .system-message .success,.system-message .error{ line-height: 1.8em; font-size: 36px; }
  .system-message .detail{ font-size: 12px; line-height: 20px; margin-top: 12px; display: none; }
 </style>
</head>
<body>
 <div class="system-message">
  <?php switch ($code) {?>
   <?php case 1:?>
   <h2>:)</h2>
   <p class="success"><?php echo(strip_tags($msg));?></p>
   <?php break;?>
   <?php case 0:?>
   <h2>:(</h2>
   <p class="error"><?php echo(strip_tags($msg));?></p>
   <?php break;?>
  <?php } ?>
  <p class="detail"></p>
  <p class="jump">
   页面自动 <a id="href" href="<?php echo($url);?>" rel="external nofollow" >跳转</a> 等待时间: <b id="wait"><?php echo($wait);?></b>
  </p>
 </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>

下面进行改写,首先css的东西都可以直接删掉,那个几乎没有什么作用,忘了说了我使用的替换的跳转提示的是layer插件,这个插件做的还是不错的,官网:http://layer.layui.com/,想看的请同志们左拐

1.下载layer插件,进行解压,解压之后的文件包如下:

thinkPHP5如何实现改写跳转提示页面

解压之后包含这三个主要的文件,其中我们需要引入到文件中的是layer.js

但是千万不要忘记引入了jquery.js

然后大家看Tp原来的代码中几行比较重要的代码:

 <p class="success"><?php echo(strip_tags($msg));?></p>
<?php echo($url);?>
<?php echo($wait);?>

这三点分别是提示信息,跳转路径,等待时间

有了这几个就可以了,改写的时候使用隐藏域的手手法,利用隐藏域将需要获得信息通过jquery的形式获取,然后插入到下面的js中:

<script type="text/javascript">
(function(){
layer.open({
  content: msg,
  yes: function(index, layero){
   //do something
   layer.close(index); //如果设定了yes回调,需进行手工关闭
  }
 });
 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>
var msg = $('#msg').val(); 提示信息
var url = $('#url').val();  跳转url
var wait = $('#wait').val(); 等待时间

改写后的js:

<script type="text/javascript">
  (function(){
   var msg = $('#msg').val();
   var url = $('#url').val();
   var wait = $('#wait').val();
   layer.open({
    content: msg,
    yes: function(index, layero){
     //do something
     location.href = url;
     layer.close(index); //如果设定了yes回调,需进行手工关闭
    }
   });
  })();
 </script>

这里我没有使用自动跳转,而是手动点击进行跳转,所以下面的计时器直接删除掉了,并不影响

感谢你能够认真阅读完这篇文章,希望小编分享的“thinkPHP5如何实现改写跳转提示页面”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI