2011-03-26 170 views
0

我在像IGN和Gamespot这样的网站上注意到,他们的专题文章和评论页面是HTML(.html),包含页面上包含的用户评论等动态内容。在静态HTML页面上包含动态内容

它们如何在静态HTML页面中包含这种类型的动态内容?

如果我关闭Javascript并查看他们的一个页面,他们的动态内容就会消失,所以我认为它是用Javascript完成的。

我对服务类似内容感兴趣,并且想通过HTML来完成,而不是使用存储在数据库中的所有内容(动态注释等内容除外)的动态PHP页面。

希望是有道理的。

+1

请注意,URL以.html结尾的事实并不意味着页面是静态的。配置Web服务器以关联*非常容易。HTML,PHP,Java Servlet或其他任何动态页面生成技术。 – 2011-03-26 20:07:21

回答

1

当你有客户端 - 服务器关系时,在后台经常会发生许多事情。

例如,Apache可以配置为解析任何“文件扩展名”,文件结尾为.xxx作为PHP。所以,你可以配置你的Apache实例.html文件中解析PHP,就像它与.php文件:

http://www.electrictoolbox.com/apache-parse-html-as-php/

而且还有,你可以服务于不同的“内容类型”的浏览器,所以,一个PHP解析的页面可以发送,例如,PDF内容到浏览器:

http://php.net/manual/en/function.header.php

现在,可能更简单的方法是使用Apache's rewrite采取URL请求,并将其改写到一个PHP页面其余的URL请求被添加为请求属性,例如S IN的模型 - 视图 - 控制器模式:

http://expressionengine.com/wiki/Remove_index.php_From_URLs/

http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller

这样一个URL如http://www.example.com/article/feature/my_story.html实际上将服务器的PHP解析器被视为http://www.example.com/index.php?class=article&method=feature&id=my_story.html

然后你就可以使用AJAX方法专门更新页面的一部分,如其他答案中所述。

+0

似乎有Apache处理解析.html页面中的PHP是我走的路。它的任何缺点?我可以限制这种行为到某些目录吗?我认为使用这种方法,编辑可以在PHP底部发布具有评论系统的HTML文章。 – Tom 2011-03-26 20:32:43

+0

我本身没有看到任何问题。如果这就是你需要的,而且你有办法实现它,那么就让它实现。不过,考虑一下你是否需要它,因为你可以用表达式引擎和以.html结尾的博客条目轻松地绕过它。当到达客户端/服务器操纵层时,文件扩展名在很多程度上都毫无意义。 – 2011-03-26 20:38:32

+0

@Tom,再次阅读您的评论,我会强烈建议您使用Expression Engine或Drupal而不是自定义系统。如果你需要一个评论系统,并且你有编辑/故事编写者,你不需要重新创建一个CMS,你只需要一个你需要的东西,而EE是一个很好的解决方案,尽管你需要购买它(我不隶属于EllisLab,尽管我有一个使用EE的网站:http://emergency.unt.edu/)。 – 2011-03-26 20:45:06

1

实现此目的的一种常用技术是使用AJAX。显然,动态内容必须来自动态服务器端脚本。

2

这是用Javascript完成的。这样做的最常见方法是在页面上使用Javascript,以访问某种可检索相应注释的API(又名AJAX)。除非您使用某种API(可能是HTTP)公开该数据库,否则您将无法以这种方式访问​​数据库。

如果你想在你自己的网站上这样的东西,请寻找像Disqus这样的服务,它们在服务器上存储注释并使用Javascript检索它们。

1

我不知道,但我猜这是JavaScript的Ajax。有几个解决方案可以做到这一点,但JavaScript是最好的,请查看MooTools(我个人最喜欢的)和JQuery。