对于菜单代码,页眉,页脚等内容以及最重要的每页快速链接/新闻面板,我仍然感觉不舒服。此外,为每个页面继续发送相同的重复html似乎有点低效。
目前我已经编写了一个小程序,它从我的index.htm中读取这些部分,并替换该目录中所有其他页面中的相关部分。然而,由于我有额外的页面,例如消息论坛和图像库,所以这些都开始变得更加尴尬了,这两个页面都需要在各自的子目录中使用自己的index.htm。
所以问题是我应该使用object,iframe还是SSI?
是否有人成功使用object标签在页面中嵌入单独的HTML文件? SSI将完成这项工作,除了在每次更改页面时仍然通过Web发送重复的HTML,并且必须在PHP页面上使用不同的包含行。那么使用IFrame,我知道它们不是严格的XHTML1.0兼容,但我似乎回想起他们将再次支持HTML5的传言,这是否使他们成为未来的好赌注?
答案 0 :(得分:0)
解决此问题的最简单方法是使用脚本语言(PHP,Python,ASP)和模板。您可以在主模板中为站点创建基本结构,然后使用脚本仅提取更改的内容。
有关一个特别好的例子,请参阅Django's template system。
答案 1 :(得分:0)
您的每个网页都可以在外部boilerplate.js
文件中调用JavaScript函数。该函数可以使用DOM将样板元素添加到页面中。
那就是说,你可能不想这样做,也不会因为SEO原因而使用IFrame ! (此外,如果客户端禁用了JavaScript,您的页面也不会正常失败。)
对我而言,拥有更多搜索引擎友好的页面并忍受重复标记的传输似乎更好。服务器端包含(或任何服务器端脚本语言)将提供这些质量,同时还使您可以轻松地一次更改所有页面上的样板。