我总是重写我的页眉和页脚,每次编辑我都必须手动将所有代码复制并粘贴到网页中。显然这是错误的方法,但我不确定正确的方法。我目前的想法是有一个“页眉”和“页脚”的 div,然后用 jquery 的 $(document).ready 加载 div 的代码。恐怕它会很慢,因为它会在执行页眉/页脚代码之前等待整个页面呈现。处理此问题的常用方法是什么?
5 回答
听起来您需要一些服务器端技术。您选择哪一个(众多选项中的一个)取决于您和您的主机。最有可能的是,您的主机将支持 PHP 和 SSI(包括服务器端)。
在最简单的设置中,基本上将通用代码放入单独的文件中,比如说header.inc
和footer.inc
. 这些文件的名称或扩展名是什么并不重要。
对于 PHP,您的页面现在应该*.php
是*.html
,您需要编写以下代码:
<?php include('header.inc'); ?>
<p>
Here is your regular document.
</p>
<?php include('footer.inc'); ?>
对于 SSI,您不必更改文件的名称,您的代码将如下所示:
<!--#include virtual="header.inc" -->
<p>
Here is your regular document.
</p>
<!--#include virtual="footer.inc" -->
你绝对不想用 Javascript 来做这件事。首先,页眉和页脚在 Javascript 执行之前不会加载,但更重要的是,没有启用 Javascript 的任何人根本看不到它们(并且要求 Javascript 来查看静态页面没有意义)。
有两种简单的方法可以做到这一点:
1)使用像php这样的服务器端语言来包含页脚:
<?php
include('header.html');
?>
The rest of the page goes here
<?php
include('footer.html');
?>
2) 使用生成静态页面的构建/部署过程。这与 1) 类似,但每次构建仅执行一次,而不是每次有人点击页面时执行一次。
通常,使用一些服务器端模板技术,例如 PHP、JSP 或 XSL。使用其中一种方法创建可链接的可重用代码段相当简单。
对于纯 HTML + JS 方法,您可以使用 IFRAME 链接到独立的页眉和页脚 HTML 文件。这将允许您将所有页眉和页脚信息保存在一个地方,只需要更新一次。
使用 HTML 或 PHP 包含。