thinkphp页面跳转(successerror)如何设置跳转等待时间

PHP 投稿 11500 1 评论

thinkphp页面跳转(successerror)如何设置跳转等待时间

这篇关于thinkphp页面跳转(successerror)如何设置跳转等待时间的文章,觉得挺不错的,感兴趣的php开发者可以参考下,希望对大家在学习php的成长路上有所帮助!

thinkphp 3.1.2 模板跳转等待的时间默认只有3秒,这在开发中如果想看错误信息的时候是非常让人头痛的,虽然可以在页面显示的通过 $this->assign('waitSecond','1') 自定义页面跳转等待时间,但总会感觉很麻烦,有没有一种方法可以将这个默认的3秒改的时间更长点吗?下面就教你如何将这个时间定义为你想要等待多长的时间,在 thinkphp 3.1.2 中,在系统目录里面的 \Lib\Core\ 找到 Action.class.php 这个文件,在里面找到下面 dispatchJump 这个方法,找到 $this->assign('waitSecond','3' 将里面的 3 改掉即可。


/**
 * 默认跳转操作 支持错误导向和正确跳转
 * 调用模板显示 默认为public目录下面的success页面
 * 提示页面为可配置 支持模板标签
 * @param string $message 提示信息
 * @param Boolean $status 状态
 * @param string $jumpUrl 页面跳转地址
 * @param mixed $ajax 是否为Ajax方式 当数字时指定跳转时间
 * @access private
 * @return void
 */
private function dispatchJump($message,$status=1,$jumpUrl='',$ajax=false) {
	if(true === $ajax || IS_AJAX) {// AJAX提交
		$data           =   is_array($ajax)?$ajax:array();
		$data['info']   =   $message;
		$data['status'] =   $status;
		$data['url']    =   $jumpUrl;
		$this->ajaxReturn($data);
	}
	if(is_int($ajax)) $this->assign('waitSecond',$ajax);
	if(!empty($jumpUrl)) $this->assign('jumpUrl',$jumpUrl);
	// 提示标题
	$this->assign('msgTitle',$status? L('_OPERATION_SUCCESS_') : L('_OPERATION_FAIL_'));
	//如果设置了关闭窗口,则提示完毕后自动关闭窗口
	if($this->get('closeWin'))    $this->assign('jumpUrl','javascript:window.close();');
	$this->assign('status',$status);   // 状态
	//保证输出不受静态缓存影响
	C('HTML_CACHE_ON',false);
	if($status) { //发送成功信息
		$this->assign('message',$message);// 提示信息
		// 成功操作后默认停留1秒
		if(!isset($this->waitSecond))    $this->assign('waitSecond','1');
		// 默认操作成功自动返回操作前页面
		if(!isset($this->jumpUrl)) $this->assign("jumpUrl",$_SERVER["HTTP_REFERER"]);
		$this->display(C('TMPL_ACTION_SUCCESS'));
	}else{
		$this->assign('error',$message);// 提示信息
		//发生错误时候默认停留3秒
		if(!isset($this->waitSecond))    $this->assign('waitSecond','3');
		// 默认发生错误的话自动返回上页
		if(!isset($this->jumpUrl)) $this->assign('jumpUrl',"javascript:history.back(-1);");
		$this->display(C('TMPL_ACTION_ERROR'));
		// 中止执行  避免出错后继续执行
		exit ;
	}
}

总结

以上就是关于thinkphp页面跳转(successerror)如何设置跳转等待时间全部内容,希望这篇文章能够帮你解决如相关的PHP问题,更多请关注PHP栏目的其它相关文章!

编程笔记 » thinkphp页面跳转(successerror)如何设置跳转等待时间

赞同 (52) or 分享 (0)
游客 发表我的评论   换个身份
取消评论

表情
(1)个小伙伴在吐槽
  1. 妆效自然持久。
    冷血战神 2023-10-04 08:30 (1年前) 回复