我想有一个header.html,它定义我所有网页的标题如何。如何将此header.html插入顶部的其他网页?
可能会有更好的方法来实现要共享的公共标头。由于我仍然认为自己是html的新手(但不适合编程),因此我愿意接受更好的建议。
谢谢。
编辑:有用的答复提到了使用PHP。但是,我使用AngularJS作为前端,而我的PHP后端仅仅是一个纯REST服务器。我更喜欢用AngularJS方式而不是PHP方式。
AngularJS解决方案如下所示:
<!DOCTYPE html> <html lang="en" ng-app="myApp"> <head> <script src='angular.js'></script> <script src='main.js'></script> </head> <body> <div ng-controller="HeaderCtrl"> <div ng-include src="header.url"></div> <script type="text/ng-template" id="header.html"></script> </div> </body> </html>
main.js:
var myApp = angular.module('myApp', []); function HeaderCtrl($scope) { $scope.header = {name: "header.html", url: "header.html"}; }
header.html:
<p> Header content goes here </p>
我之所以没有简单地建议诸如以下的解决方案,<divng-include="'header.html'">是为了避免加载标头时出现任何延迟。另外,jQuery也会这样。
<divng-include="'header.html'">
<html> <head> <script src="jquery.js"></script> <script> $(function(){ $("#headerContent").load("header.html"); }); </script> </head> <body> <div id="headerContent"></div> </body> </html>
最后,PHP解决方案将如下所示:
<html> <head> </head> <body> <?php include('header.html'); ?> </body> </html>
祝你好运学习!