太尉天上飞 发表于 2012-7-3 23:27
1、首先$this->load->view('skeleton'); 只是加载视图,结果被写入缓冲区而不直接输出。
2、即使想实现flus ...
哎呦,对你第二点的提到的解决方案,我自己试了一下,虽然结果浏览器还是到全加载后才输出,而且从log文件看是skeleton先输出,2秒后content再输出。
但也不是没有收获:
从log里我发现这两个页面块最后输出前还是调用_dispaly()的。
也就是说
ob_start();
echo $this->load->view('skeleton', array(), TRUE);
ob_flush();
的写法,最后输出还是会通过调用Output.php中的_dispaly()输出。
其实自己之前不知所措的时候会在各种地方加,什么ob_start(),ob_flush(),ob_end_flush()什么的...最后都不太work,可伤心了... |