html 静态页面中引用外部页面没那么方便,主要方法有:

asp语言和PHP语言

首先制作一个头部文件head.asp,或者一个底部文件foot.asp。如主页是index.asp,调用头部代码是在index.asp文件代码的开始位置(第一个标记后面,

标记前面)增加如下代码:

<!–  #include file=”head.asp”    –>

如果是PHP文件,文件名改为 head.php即可

使用框架来实现

<iframe MARGINWIDTH=0 MARGINHEIGHT=0 HSPACE=0 VSPACE=0 FRAMEBORDER=0 SCROLLING=no src=”head.htm” height=“auto” width="100%"></iframe>

以前人们常常使用静态frame框架来做首尾(一般不是iframe)。现在越来越少见了。主要因为设计网页相对比较困难,而且还增加了连接数,占用线程较多,速度慢,而且也不利于搜索引擎的对头尾的收录

使用.js脚本来实现

建立一个head.js的文件,找一个html转js的网站,然后把你头部的html代码转化成js代码,并放在head.js文件里面。然后在需要调用head文件代码的地方添加

<script language="javascript" type="text/javascript" src="js/head.js"></script>

这个地方src="js/head.js"的路径是你head.js文件的路径

html转换为JS:

document.writeln("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">");
document.writeln("<html xmlns=\"http://www.w3.org/1999/xhtml\">"); document.writeln("<head>"); document.writeln("<style>"); document.writeln("</style>"); document.writeln("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />"); document.writeln("<title></title>"); document.writeln(" <link href=\'head.css\' rel=\"stylesheet\" type=\"text/css\" />"); document.writeln("</head>"); document.writeln("<body >"); document.writeln(" <div class=\'miaov_head\'>"); document.writeln(" <ul>"); document.writeln(" <li><a href=\"http://www.cnblogs.com/jtjds/\">Mac</a></li>"); document.writeln(" <li><a href=\"http://www.cnblogs.com/jtjds/\">iPhone</a></li>"); document.writeln(" </ul>"); document.writeln("</div>"); document.writeln(" "); document.writeln("</body>"); document.writeln("</html>"); document.writeln("");

以后无论在哪个页面,想调用该头部文件,直接插入head.js文件即可

这种方式的优点是方便,便于修改。缺点是由于搜索引擎读不懂javascript文件,头部文件和尾部文件搜索引擎无法收录,而且js文件过大会加重访问者的浏览器负担,影响访问速度

Behavior的download方式

最好能有一种方法,就像asp页面包含其他页面时那样,用一小段包含语句就可以实现,不要将需要包含的内容出现在本页面内,而是分割出去到另外一个自己的页面

<span ><IE:Download STYLE="behavior:url(#default#download)" /> <script>function onDownloadDone(downData){ showImport1.innerHTML=downData } oDownload1.startDownload('top.htm',onDownloadDone) </script>

注:包含的页面为 top.htm 只要把需要包含的页面改掉就可以了!其中id=showimport 不能改为其他,这种写法为一次包含一个文件

通过<object>实现

<object type="text/x-scriptlet" data="import.htm" width=100% height=30></object>

HTML中执行include file

使用ssi技术页面生成shtml文件,只用在头部文件位置加入:

SSI(Server Side Include),通常称为"服务器端嵌入"或"服务器端包含",是一种类似于ASP的基于服务器的网页制作技术。默认扩展名是 .stm、.shtm 和 .shtml。SSI就是在HTML文件中,可以通过注释行调用的命令或指针,SSI具有 强大的功能,只要使用一条简单的SSI命令就可以实现整个网站的内容更新,时间和日期的动态显示,以及执行shell和CGI脚本程序等复杂的功能

<!--#include file="library/common_header.html" -->

使用shtml的好处是对搜索引擎比较友好,需要处理的文件在服务器端完成的, 不会加重访问者的浏览器负担

HTML5 中的 <embed> 标签

<embed type="text/html" src="footer.html" />

ajax动态填充

node代理

1:使用ssi技术页面生成shtml文件,只用在头部文件位置加入,然后修改的时候只要修改header.htm文件就可以了。使用shtml的好处是对搜索引擎比较友好,需要处理的文件在服务器端完成的,不会加重访问者的浏览器负担

本地合并

即将HTML硬拆成头、尾、内容三个部分的文件,在预览或者发布之前用脚本手工合并,没有后台的时候使用效果不错

ajax动态拉取填充

web服务器(比如IIS)中设定包含

后台模板引擎处理(字符串拼接)

用图片、flash等外部资源做---不推荐,比较麻烦

angular js里的的使用

使用fis。有html嵌入功能

<link rel="import" href="demo.html?__inline">

LINK[rel=import]其实有点类似于IFRAME,它引用的对象也是一个完整的文档,而不是文档片段,而且里面的SCRIPT也会执行,对跨域的资源访问同样有同源策略的限制

和IFRAME不同的是,它和父文档的关系更密切。它自身确实是一个文档,可以通过link元素上的import属性访问,但在其内部的代码中,如果访问document则等同于访问父文档。这是很奇怪的设定,虽然内部的元素与父文档不在一个DOM树上(父文档上querySelector无法找到内部的元素),但他们却共用一个document对象,甚至共用一个全局环境。这意味着STYLE或SCRIPT之类的标签所执行的结果会影响到容器

转载于:https://www.cnblogs.com/exmyth/p/8116687.html

html 如何引入一个公共的头部和底部相关推荐

  1. html页面怎么引用通用的头部,html 如何引入一个公共的头部和底部

    html 静态页面中引用外部页面没那么方便,主要方法有: asp语言和PHP语言 首先制作一个头部文件head.asp,或者一个底部文件foot.asp.如主页是index.asp,调用头部代码是在i ...

  2. 在html页面中引入公共的头部和底部

    参考链接: http://www.cnblogs.com/jason-star/p/3345225.html http://blog.csdn.net/jsxzzliang/article/detai ...

  3. 路由到另外一个页面_如何在多个页面中,引入一个公共组件

    应用场景 在前端开发的过程中,时常有这样的一个需求,需要将某个组件,展示在不同的页面中.常见的有,头部菜单栏.底部版权,如下图中的菜单,就需要在不同页面中进行显示. 解决方法 假设有这样一个需求,希望 ...

  4. html引入公共的头部,导航栏,尾部

    个人分类: HTML5 很不错的文章,讲解html引入公共的头部,导航栏,尾部的很仔细_ 一.asp语言和PHP语言 首先制作一个头部文件head.asp,或者一个底部文件foot.asp.如主页是i ...

  5. 前端第三方依赖文件单独抽出 注入一个公共js文件 html引入方法

    虽然前端现在主流使用框架搭建项目,但还是有少许人用jq来开发项目,众所周知,jq引入第三方依赖时每个html页面都需引入,重复动作,依赖越来越多,引入一整坨.因此,我们可以建一个公共js文件,把各页面 ...

  6. VUE做一个公共的提示组件,显示两秒自动隐藏,显示的值父组件传递给子组件

    需求:VUE做一个公共的提示组件,显示两秒自动隐藏,显示的值由父组件动态传给子组件. 效果图: 实现步骤: 1.创建一个子组件 Toptips.vue (它就是公共提示组件), optips.vue代 ...

  7. Swift3.0语言教程获得一个公共的前缀

    Swift3.0语言教程获得一个公共的前缀 Swift3.0语言教程获得一个公共的前缀,当在一个程序中有多个字符串时,我们需要判断是否有两个字符串有公共的前缀时,是很困难的.在NSString中的co ...

  8. php mysql主从延迟_如何解决主从数据库同步延迟问题?php连接 mysql 数据库如何添加一个公共的配置文件50...

    在上一篇文章中,小编为您详细介绍了关于<图上属标注的什么样元器件?火车购票明明显示无座为什么样乘车后却发现有很多空座>相关知识.本篇中小编将再为您讲解标题如何解决主从数据库同步延迟问题?p ...

  9. 在maven引入一个maven仓库中不存在的jar,安装本地底仓库

    问题描述:如果要在一个maven工程中引入一个不存在的jar,即无法通过denpendecy的gav定位到. 处理方式: 方式一:如果maven工程是war包形式,可以直接放在 WEB-INF下的li ...

  10. js中执行到一个if就停止的代码_Node 中如何引入一个模块及其细节

    在 node 环境中,有两个内置的全局变量无需引入即可直接使用,并且无处不见,它们构成了 nodejs 的模块体系: module 与 require.以下是一个简单的示例 const fs = re ...

最新文章

  1. iOS开发:使用Block在两个界面之间传值(Block高级用法:Block传值)
  2. 数据库基础之一--DDL(数据库定义语言),DCL(数据库控制语言)
  3. C++11多线程之future和promise
  4. osgi 如何引入包_OSGi Testsuite:引入类名过滤器
  5. 找出数组中前K大的值
  6. Java工具实现无水印批量下载
  7. Qt文档阅读笔记-Timer QML Type 官方解析与实例
  8. sqlquerystress
  9. java mysql tomcat my_Java、Tomcat 及 MySQL 环境配置
  10. (21)System Verilog按时间顺序的通知需求(变量驱动)
  11. 币安选择InfStones作为以太坊2.0 Staking基础设施服务商
  12. JS键盘事件对象之keyCode、charCode、which属性对比
  13. H.264/AVC原理介绍
  14. 批处理复制文件/文件夹到当前目录下所有文件夹中
  15. el-table点击单元格自动聚焦可编辑,且失去焦点即修改成功的实现方法
  16. JS 实现数字转罗马数字
  17. 这个AI算法可以生成动漫人物-styleGAN2神经网络模型
  18. 【Unity】消消乐游戏开发流程
  19. codeforces1153F Serval and Bonus Proble【期望DP】
  20. go-micro教程 — 第二章 go-micro v3 使用Gin、Etcd

热门文章

  1. [Asp.net]常见数据导入Excel,Excel数据导入数据库解决方案,总有一款适合你!
  2. IEtester不靠谱
  3. 空间apiLinux系统调用及用户编程接口(API)学习
  4. poj 2741 Colored Cubes(dfs暴力枚举)
  5. 用户'MYCOMPUTER\ASPNET' 登录失败”的解决方法
  6. vuex使用及自定义Vue指令vue-permission
  7. 勒索老黄未果!黑客公布英伟达核心源代码,超40万个文件、75GB机密数据
  8. 深入理解Java中四种创建对象的方式
  9. Facebook提高工作效率的秘密 ,值得收藏
  10. 携程App的网络性能优化实践