一个A.PHP页面
头部是静态的导航之类的
BODY里有一些是PHP代码,在打开A.PHP的时候,等待5秒左右就页面全部打开,5秒感觉久了
所以我想先打开那些静态的信息,PHP代码耗时的就慢点再打开,用户体验就好点,请问怎么做呢?
需求就是,打开A.PHP页面,不是一次全部显示,而是首先显示一部分再显示一部分再显示完全
头部是静态的导航之类的
BODY里有一些是PHP代码,在打开A.PHP的时候,等待5秒左右就页面全部打开,5秒感觉久了
所以我想先打开那些静态的信息,PHP代码耗时的就慢点再打开,用户体验就好点,请问怎么做呢?
需求就是,打开A.PHP页面,不是一次全部显示,而是首先显示一部分再显示一部分再显示完全
或者比如页面一打开,就把整个界面的布局都载入进来,当成挖坑。
等PHP处理完之后,再用js什么的,把内容填到坑里……另外,DIV和table的区别也是有的,一般来说,table会等整个table的数据都载入完毕才显示出来,而div基本上是有多少显示多少。
或者通俗点来说
就比如一个A.PHP的动态页面,我想边解析一点就输出一点,不要等待全部解析力再输出来
比如A.PHP页面有两段是PHP的代码,怎么AJAX出来?JS调用出来吗?这样源码显示是JS吧,搜索引擎就不好收录了
我这边说过了么,看看ob_flush相关函数,可以即时把结果输出,达到一段一段显示的效果。
第二种占坑的方法,像这样
<body>
<div id="aa">
....
</div>
<?php /* 以上是页面的基本框架 以下才是内容 */?>
<div id="zz" style="display:none;">
......
</div>
<script>document.getElementById("aa").innerHTML = document.getElementById("zz").innerHTML;</script>
</body>
像这样的话,zz是显示不出来的,但它其实也算是页面的内容了吧,搜索引擎应该还是会鸟的。
嘛……具体我也没怎么试过,这是直觉而已。
那第一次加载还是会全部解析完了再一起显示出来啊?
flush();ob_end_flush() 需要关闭吗?
左边是静态的东西,右边也是,或说是非常简单的动态代码中间是有点耗时的代码,现在我想把左右都显示出来再显示中间的代码
使用JS的话,源码看不到,这个不好