一种机制,关于网站静态 本帖最后由 xiongmzh 于 2010-02-06 12:00:02 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 时间1 = 读html + 加载数据再生成一次html时间2 = 直接加载数据时间1 > 时间2你样做不是浪费时间吗? 不啊,我刚想到的,我的意思是,整个页面加载完之后,才重新生成,这样,用户根本该觉不到页面其实已经重写了一次了,因为加载完成之后做动作不会影响到页面反应的速度这就是“异步”吧,我想到了,用Ajax,在body里用onload触发大家觉得呢 这就是“异步”吧,我想到了,用Ajax,在body里用onload触发 -----------------------------------------------------------------------可以, 但流量大的时候, 读一个页面要请求两次, 会不会搞死服务器呢 ? 多给个文件例如Index2.html,先把Index.html的内容写到Index2.html,然后再把新的内容写到Index,.html,这样就知Index2.html的内容是上一次的. 我用session记录每一次的请求时间,那么下次请求的时候,就判断下,我想让他每过半个小时或者1个小时才发生动作 你的url是怎样? 直接访问index.html, 还是访问index.php时通过模板拿缓存内容 那些门户网站相当于织梦cms, 发布内容时直接生成html, 有修改时也直接操作html, 局布变化, 用ajax处理 个人建议, 只供参考1. 在内容有修改时对模板更新2. 设置模板限定时间, 超期再自行更新局布的变化用ajax处理, 相比你的提议,这样尽可能少地对模板操作 就用最上面的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部分去掉,才能写入,为什么这样,到现在还没找出原因 不仅如此,style标记也只能写在body里面,写在外面的话,也无法写出Index.html文件 不明白你想表达的意思, 为什么只有去掉script才能写入呢? 你的load()可以不写在<body>标签里也可以动态加载啊 不是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写在外部文件中,我只是想不通这个是为啥 估计是我这个函数的问题,_executeView 把 "<style>body{font-size:14px; color:#FF0000;}</style>" 和 "<script>function load(){alert(111);}</script>"写到<body>标签里, 看dump($cons)能不能正常输出, 如果不能, 我想你就应该知道错在那里了 因为你的style和script里有{和}把它们放在{literal}和{/literal}中即可 呵呵,谢谢楼上,这才知道smarty中还有这个东东,结贴咯 帮忙找个开源的在线帮助系统 还是关于mysql中文乱码如何解决的问题 某国内项目开发,急寻PHP高手 多表的问题,找不出错误,急~ 在线等!!php页面间值传递问题?? PHP在Windows 98下安装的问题? 用session_start():回退后原页面数据无法保存 上传图片怎么判断它的大小高宽度? php支持servlet? 如何在windows中配置php3及相应数据库 PHP5.3把eregi给废弃了? 数组输出问题,求助!
先把Index.html的内容写到Index2.html,
然后再把新的内容写到Index,.html,
这样就知Index2.html的内容是上一次的.
我用session记录每一次的请求时间,那么下次请求的时候,就判断下,我想让他每过半个小时或者1个小时才发生动作
那些门户网站相当于织梦cms, 发布内容时直接生成html, 有修改时也直接操作html, 局布变化, 用ajax处理
局布的变化用ajax处理, 相比你的提议,这样尽可能少地对模板操作
<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部分去掉,才能写入,为什么这样,到现在还没找出原因
不明白你想表达的意思, 为什么只有去掉script才能写入呢? 你的load()可以不写在<body>标签里也可以动态加载啊
<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写在外部文件中,我只是想不通这个是为啥
"<script>function load(){alert(111);}</script>"写到<body>标签里, 看dump($cons)能不能正常输出, 如果不能, 我想你就应该知道错在那里了
因为你的style和script里有{和}
把它们放在{literal}和{/literal}中即可