在静态HTML页面上包含动态内容

时间:2011-03-26 20:02:48

标签: javascript html content-management

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

它们如何在静态HTML页面中包含此类动态内容?

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

我有兴趣提供类似的内容,并希望通过HTML而不是动态的PHP页面来完成,所有动态的PHP页面都存储在数据库中(除了评论等内容)。

希望这是有道理的。

4 个答案:

答案 0 :(得分:2)

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

如果您想在自己的网站上找到类似的内容,请查看Disqus等服务,这些服务会在其服务器上存储评论并使用Javascript检索它们。

答案 1 :(得分:1)

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

答案 2 :(得分:1)

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

答案 3 :(得分: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请求将作为请求属性添加,例如在模型 - 视图中 - 控制器模式:

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

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

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

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