<p class="warning">
<style scoped>
h3 {
color: red;
}
</style>
<h3>Warning!</h3>
<p>This page is under construction</p>
</p>
<p class="outdated">
<h3>Heads up!</h3>
<p>This content may be out of date</p>
</p>
导入
<head>
<link rel="import" href="warnings.html">
</head>
<body>
...
<script>
var link = document.querySelector('link[rel="import"]');
var content = link.import;
// 从 warning.html 的文档中获取 DOM。
var el = content.querySelector('.warning');
document.body.appendChild(el.cloneNode(true));
</script>
</body>
可以使用
html
的import
这个功能通过声明
<link rel="import">
来在页面中包含一个导入具体可以看教程
可以向下面这样使用
warning.html
导入
1、可以用构建工具拼接,例如gulp, fis,
我之前用过gulp,大概是这样的
更详细的可以去我的github上看一下
2、用后台模板来拼接,例如php,django等
3、可以用一些前端模板来做,例如我用的就是handlebars,你先用handlebars写好公共部分,然后再在js里用Handlebars.compile插入进来
如果你不想在页面加载完后再用js插入的话,建议使用前两者
这种情况一般都需要上构建工具,我是用gulp+jade实现的
能想到的只有两种解决方案:
后台拼接页面,可以用PHP,jsp或是nodejs模板引擎。
使用Ajax做单页面应用(不过这个似乎不符合你的要求)
你可以用shtml include的,不过一般都是在程序语言组装好的,而且每个语言都有各自的叫法,不过都是一个意思,
比如aspx就是用户控件啊
还有一种就是用ajax加载,不过这个不合常理,只不过能实现而已。
你可以考虑把头部导航栏的html 以字符串的形式保存到一个全局变量里,然后在需要的地方通过js动态写入进去。
用react框架轻松实现。
可以试下用组件来实现。
比如PHP里,把a.html中任意一段代码放到b.html文件中,然后在a.html那个地方这样调用
使用pugjs可以