本帖最后由 xiongmzh 于 2010-02-06 12:00:02 编辑

解决方案 »

  1.   

    时间1 = 读html + 加载数据再生成一次html时间2 = 直接加载数据时间1 > 时间2你样做不是浪费时间吗?
      

  2.   

    不啊,我刚想到的,我的意思是,整个页面加载完之后,才重新生成,这样,用户根本该觉不到页面其实已经重写了一次了,因为加载完成之后做动作不会影响到页面反应的速度这就是“异步”吧,我想到了,用Ajax,在body里用onload触发大家觉得呢
      

  3.   

    这就是“异步”吧,我想到了,用Ajax,在body里用onload触发 -----------------------------------------------------------------------可以, 但流量大的时候, 读一个页面要请求两次, 会不会搞死服务器呢 ? 
      

  4.   

    多给个文件例如Index2.html,
    先把Index.html的内容写到Index2.html,
    然后再把新的内容写到Index,.html,
    这样就知Index2.html的内容是上一次的.
      

  5.   


    我用session记录每一次的请求时间,那么下次请求的时候,就判断下,我想让他每过半个小时或者1个小时才发生动作
      

  6.   

    你的url是怎样?  直接访问index.html, 还是访问index.php时通过模板拿缓存内容
      

  7.   


    那些门户网站相当于织梦cms,   发布内容时直接生成html, 有修改时也直接操作html, 局布变化, 用ajax处理
      

  8.   

    个人建议, 只供参考1. 在内容有修改时对模板更新2. 设置模板限定时间, 超期再自行更新
    局布的变化用ajax处理, 相比你的提议,这样尽可能少地对模板操作
      

  9.   

    就用最上面的php代码,模板用smarty,我的view_index.html文件如下:<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    </head><body onload="load()">
    现在是{$a|date_format:"%H"}时{$a|date_format:"%M"}分{$a|date_format:"%S"}秒
    </body>
    </html>
    <script type="text/javascript">
    function load()
    {
    alert(666);
    }
    </script>
    这样的话,却无法写入Index.html文件里,只有把里面的script部分去掉,才能写入,为什么这样,到现在还没找出原因
      

  10.   

    不仅如此,style标记也只能写在body里面,写在外面的话,也无法写出Index.html文件
      

  11.   


    不明白你想表达的意思, 为什么只有去掉script才能写入呢? 你的load()可以不写在<body>标签里也可以动态加载啊
      

  12.   

     不是onload="load()"的问题,我的意思是:<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    <style></style>
    <script></script>
    </head>
    <body>
    <!--<body onload="load()">-->
    现在是{$a|date_format:"%H"}时{$a|date_format:"%M"}分{$a|date_format:"%S"}秒
    <div>
    ddddddddddddddd
    </div></body>
    </html>
    如果模板中是这些内容,在php代码的$cons= ob_get_contents()后面dump($cons)时候,没问题,可以把内容输出,但是用下面的,就显示空白,说明出了问题:<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    <style>
    body{font-size:14px; color:#FF0000;}
    </style>
    <script>
    function load()
    {
    alert(111);
    }
    </script>
    </head>
    <body>
    <!--<body onload="load()">-->
    现在是{$a|date_format:"%H"}时{$a|date_format:"%M"}分{$a|date_format:"%S"}秒
    <div>
    ddddddddddddddd
    </div></body>
    </html>貌似style标签和script标签里不能添加任何东西,这倒没多大关系,可以把css和js写在外部文件中,我只是想不通这个是为啥
      

  13.   

    估计是我这个函数的问题,_executeView
      

  14.   

    把 "<style>body{font-size:14px; color:#FF0000;}</style>" 和 
         "<script>function load(){alert(111);}</script>"写到<body>标签里,  看dump($cons)能不能正常输出, 如果不能,  我想你就应该知道错在那里了 
      

  15.   


    因为你的style和script里有{和}
    把它们放在{literal}和{/literal}中即可
      

  16.   

    呵呵,谢谢楼上,这才知道smarty中还有这个东东,结贴咯