我有两个HTML页面。 我想避免重复标记,如头部,导航等。 例如,这是一页:
<head><title>Los Pollos Hermanos</title></head>
<body>About Us</body>
这是另一个:
<head><title>Los Pollos Hermanos</title></head>
<body>Contacts</body>
我不喜欢重复的事情,所以,我想把头+标题部分移出一些单独的文件,然后从其他页面调用这个单独的文件。这是正确的方法吗?练习是什么?
答案 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页面的类似概念。您可以在主服务器中定义所有这些内容,并设置一个标签,显示“更改”内容将显示在何处。然后,其他文件(页面)定义模板中那些定义的点中显示的内容。