0

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

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

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

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

希望这是有道理的。

4

4 回答 4

2

它是用 Javascript 完成的。最常见的方法是在页面上使用 Javascript 访问某种 API 来检索适当的评论(也称为 AJAX)。除非您使用某种 API(可能是 HTTP)公开该数据库,否则您将无法以这种方式访问​​数据库。

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

于 2011-03-26T20:05:17.193 回答
1

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

于 2011-03-26T20:04:45.240 回答
1

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

于 2011-03-26T20:06:44.097 回答
1

当您拥有客户端-服务器关系时,通常会在后台发生很多事情。

.xxx例如,Apache 可以配置为解析任何以 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 的重写来获取 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 方法专门更新页面的一部分,正如其他答案中提到的那样。

于 2011-03-26T20:18:28.520 回答