1

对于菜单代码、页眉、页脚以及最重要的是每个页面上的快速链接/新闻面板等内容,我仍然不习惯重复 HTML。此外,为每个页面继续发送相同的重复 html 似乎有点低效。

目前我已经编写了一个小程序,它从我的 index.htm 中读取这些部分,并替换该目录中所有其他页面中的相关部分。然而,现在事情开始变得更加尴尬,因为我有额外的页面,比如消息论坛和图片库,这两个页面都需要在各自的子目录中拥有自己的 index.htm。

所以问题是我应该使用对象、iframe 还是 SSI?

有没有人成功地使用 object 标签在页面中嵌入单独的 HTML 文件?SSI 将完成这项工作,除了重复的 HTML 仍然在每个页面更改时通过 Web 发送,并且必须在 PHP 页面上使用不同的包含行。使用 IFrame 怎么样,我知道它们并不严格符合 XHTML1.0,但我似乎记得有传言说它们将再次在 HTML5 中得到支持,这是否使它们成为未来的好赌注?

4

2 回答 2

0

您的每个页面都可以调用外部boilerplate.js文件中的 JavaScript 函数。该函数可以使用 DOM 向页面添加样板元素。

也就是说,出于 SEO 的原因,您可能不想这样做,也不想使用 IFrame!(此外,如果客户端禁用 JavaScript,您的页面也不会正常失败。)

对我来说,拥有一个对搜索引擎更友好的页面并忍受重复标记的传输似乎更好。服务器端包含(或任何服务器端脚本语言)将提供这些品质,同时也使您可以轻松地一次更改所有页面上的样板。

于 2011-06-17T18:00:51.117 回答
0

解决此问题的最简单方法是使用脚本语言(PHP、Python、ASP)和模板。您可以在主模板中为您的站点创建基本结构,然后使用脚本仅提取更改的内容。

对于一个特别好的示例,请参阅Django 的模板系统

于 2011-06-17T17:14:43.730 回答