Chinaunix

标题: php发布静态html页后如何更新动态部分的内容 [打印本页]

作者: steelyoung    时间: 2008-04-19 20:43
标题: php发布静态html页后如何更新动态部分的内容
以163网的一个新闻页面为例:
http://news.163.com/08/0419/07/49SJ4QDN00011229.html

这个网页是html的,可以在发布时生成,其中除了导航栏、新闻正文不需要更新外,其他部分都是需要更新的,这些内容至少每天都要更新一次或多次,这个更新不应该把此html重新生成一次吧,请问在程序上怎么实现,是用模版来实现的吗?我目前用了smarty模版技术,可以生成html页面,但对于其中需要动态更新的部分却不能实现!不知从何处着手,请做过的大侠门给点建议或者思路!
作者: workingbeijing    时间: 2008-04-20 16:35
标题: 我也来听课
我也来听课
作者: 无名分的浪漫    时间: 2008-04-20 16:38
Js调用
作者: steelyoung    时间: 2008-04-20 20:35
原帖由 无名分的浪漫 于 2008-4-20 16:38 发表
Js调用



js调用对少部分内容可以,但对于包含很多动态更新的不现实吧,光更新那些js文件就不容易!再看163的新闻页面源文件其中更新的部分并不是js调用的,可以看到要更新的部分被分为不同的部分,如<!-- 区域1 -->、<!-- 区域2 -->等等。
作者: ydlhero    时间: 2008-04-20 21:57
还可以rewrite
作者: xjtdy888    时间: 2008-04-21 09:23
一般是这样做的iframe和script
作者: caotian2000    时间: 2008-04-21 14:51
shtml
作者: loveloop    时间: 2008-04-22 02:43
一般都是iframe或者js。
作者: liuxingyuyuni    时间: 2008-04-22 08:46
标题: 看一下源码
}
}else if(window.ActiveXObject){//IE
   try{
   http_request=new ActiveXObject("Msxml2.XMLHTTP";
   }catch(e){
   try{
                http_request=new ActiveXObject("Microsoft.XMLHTTP";
        }catch(e){}
        }
}
if(!http_request){
        alert('Giving upCannot create an XMLHTTP instance)');
        return false;
}
return http_request;
}

明显用的AJAX
作者: steelyoung    时间: 2008-04-22 10:39
用js和iframe的确可以实现,但感觉不是很理想,一个页面包含多块动态更新的话就要包含许多<script type="text/javascript" src="***"></script>这样的代码,但看163的新闻页面就没有这些代码,他直接显示的是内容!

用shtml的话可以通过include inc文件作到这种效果,新浪就是用的shtml,但163的html文件是怎么做到的呢?

欢迎大家继续探讨!




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2