一个A.PHP页面
头部是静态的导航之类的
BODY里有一些是PHP代码,在打开A.PHP的时候,等待5秒左右就页面全部打开,5秒感觉久了
所以我想先打开那些静态的信息,PHP代码耗时的就慢点再打开,用户体验就好点,请问怎么做呢?
需求就是,打开A.PHP页面,不是一次全部显示,而是首先显示一部分再显示一部分再显示完全

解决方案 »

  1.   

    把你要先显示的用静态页面,包含在a。php这个页面里。
      

  2.   

    ob_flush这些么……
    或者比如页面一打开,就把整个界面的布局都载入进来,当成挖坑。
    等PHP处理完之后,再用js什么的,把内容填到坑里……另外,DIV和table的区别也是有的,一般来说,table会等整个table的数据都载入完毕才显示出来,而div基本上是有多少显示多少。
      

  3.   

    恩,你好
    或者通俗点来说
    就比如一个A.PHP的动态页面,我想边解析一点就输出一点,不要等待全部解析力再输出来
      

  4.   

    把静态导航之类的单独弄成页面include进来看看有没有效果
      

  5.   

    ajax的怎么显示,今天头晕晕的,还请详细说明下
    比如A.PHP页面有两段是PHP的代码,怎么AJAX出来?JS调用出来吗?这样源码显示是JS吧,搜索引擎就不好收录了
      

  6.   


    我这边说过了么,看看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是显示不出来的,但它其实也算是页面的内容了吧,搜索引擎应该还是会鸟的。
    嘛……具体我也没怎么试过,这是直觉而已。
      

  7.   

    好的,谢谢,我去了解下ob_flush
      

  8.   

     ob_flush 是输出缓存的东西
    那第一次加载还是会全部解析完了再一起显示出来啊?
      

  9.   

    ob_start()需要开启吗?ob_flush();
    flush();ob_end_flush() 需要关闭吗?
      

  10.   

    恩 ob_flush 这个也是从缓存里面刷新出来吧?
      

  11.   

    恩,A.PHP
    左边是静态的东西,右边也是,或说是非常简单的动态代码中间是有点耗时的代码,现在我想把左右都显示出来再显示中间的代码
    使用JS的话,源码看不到,这个不好