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 ;
}
}