避免重复HTML

时间:2011-08-24 15:21:47

标签: html

我有两个HTML页面。 我想避免重复标记,如头部,导航等。 例如,这是一页:

<head><title>Los Pollos Hermanos</title></head>
<body>About Us</body>

这是另一个:

<head><title>Los Pollos Hermanos</title></head>
<body>Contacts</body>

我不喜欢重复的事情,所以,我想把头+标题部分移出一些单独的文件,然后从其他页面调用这个单独的文件。这是正确的方法吗?练习是什么?

6 个答案:

答案 0 :(得分:1)

使用模板语言。您选择的具体内容取决于您的服务器支持的内容和个人偏好。

在其他条件相同的情况下,我会使用Template Toolkit,因为它可以在构建时时自行使用(即在您上传它之前,并且不需要服务器支持任何其他内容静态文件)感谢ttree,可以在Perl的运行时中使用。

使用TT生成网络内容有一个很好的introductory tutorial

答案 1 :(得分:1)

你不能直接从html,但如果你使用php或asp或类似的东西来生成html,这很简单。检查include是否为php,例如

答案 2 :(得分:1)

这取决于您使用的语言。如果您想严格按HTML格式执行此操作,请查看您的服务器是否支持shtml。如果是,则可以使用includes将文件读入另一个文件。

<!--#include FILE="filename.html"--> 

答案 3 :(得分:1)

您可以将公共代码放在.tpl文件中,并在页面中包含该链接。例如

<!--#include virtual="../_tpl/header.tpl" --> 
 <div class="content">

  some code goes here...

</div>

并在标题模板中放置所有常用代码,例如

    

<head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <title>PAGETITLE</title>
    <meta name="Keywords" content="" />
    <meta name="Description" content="" />
    <meta http-equiv="Content-Style-Type" content="text/css" />
    <meta http-equiv="Content-Script-Type" content="text/javascript" />


    <link rel="stylesheet" type="text/css" media="all" href="..." />

    <script type="text/javascript" src="....."></script>

</head>

答案 4 :(得分:0)

一种经典的方法是使用包含页脚和页眉的布局。然后用你的布局装饰你的页面:

_________layout________
|  ________________   |
|  |    header     |  |
|  |_______________|  |
|  _________________  |
|  |               |  |
|  |  specific     |  |
|  |    page       |  |
|  |               |  |
|  |_______________|  |
|  ________________   |
|  |    footer     |  |
|  |_______________|  |
|_____________________|

这是大多数Web框架所做的事情。

答案 5 :(得分:0)

在ASP.Net中,您可以使用所谓的母版页。在ASP.Net MVC中,使用Layout页面的类似概念。您可以在主服务器中定义所有这些内容,并设置一个标签,显示“更改”内容将显示在何处。然后,其他文件(页面)定义模板中那些定义的点中显示的内容。