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