我想在一个网站中每一个页面使用公共的头部底部,怎么实现,不要太高深的

我想在一个网站中每一个页面使用公共的头部底部,怎么实现,不要太高深的。

阅读 7.1k
8 个回答

仅供参考:

  • 使用JS动态请求统一的头尾,然后插入指定位置

  • 后端方案,#include('header.vm') 批量修改模板,但是得注意兼容问题

  • 服务器端,如果使用的是 nginx,开启 sub_filter 模块

subs_filter '<body>' '<body>公共头JS代码' i;

推荐使用第一种方法,总有公共的JS引用吧!

可以使用模板啊,前端的模板我知道jade。可以把公共部分定义为mixin,然后include到每个需要的页面中,具体参考这里

在php后端,你也可以定义一个变量,把需要的html作为字符串保存在这个变量里,然后echo到每个页面中。
当然,这需要你先定义一个父类,所有请求先通过这个父类,父类处理一些公共逻辑,比如加header/footer,子类则处理更具体的逻辑。

反正都需要一定的重构。

主要看你用的什么框架,大多数框架都有模板,利用模板就能提出公共组件,拿来复用。

header
内容
footer

页面1.html

include 'header';
页面1内容
include 'footer';

页面2.html

include 'header';
页面2内容
include 'footer';

创建一个header.php和一个footer.php,里面写你要的header和footer的内容

然后在要引入header和footer的页面

<?php include 'header.php'; ?>
其他内容
<?php include 'footer.php'; ?>

PHP实现:

include 'header.html';
...
include 'footer.html';

JS实现:

<div id="header"></div>
...
<div id="footer"></div>
<script>
   $('#header').load('header.html');
   $('#footer').load('footer.html'); 
</script>
推荐问题