在面向对象软件开发的时候,我们经常提到“复用”,很好地复用代码不仅可以大大提高开发效率,同时使得代码更易于维护。
HTML的复用是一个很少被提及的词汇,今天就这个问题小结如下:
在老版本的浏览器中HTML文档是不支持嵌套的,而我们要能够复用HTML代码通常的做法主要有基于服务器端和客户端实现的2大类方法:
1.服务器端实现
  a.使用SSI,既通常的shtml文件。
  b.asp、php等的include类语句,asp.net的模板页和用户控件。

2.在客户端实现
  a.使用javascript客户端脚本
    a1.可以在html文档的onload事件中触发一个js方法,在该方法中找到一个页面元素作为容器,在该容器中输出一段html代码(可以定义一个字符串存储要输出的html代码片段,比如:var str="<p>hello world!</p>";)。
    a2.在页面中使用<script type="text/javascript" src="Default3.aspx"></script>等脚本注册块(该处的Default3.aspx也可以是js脚本文件或其他实现js格式的服务器端输出),在实现的脚本文件中用document.write方法把要复用的html代码打印出来。
    a3.使用AJAX实现。该方法有个缺陷,就是客户端的有些浏览器默认是不支持ajax的跨站调用的。
  b.使用iframe

两者的选择:
更多的情况下首选服务器端的实现,除非是在一些实现静态化的页面或者一些特殊的再使用客户端的实现。

更多参考:
http://ask-leo.com/how_do_i_include_one_html_file_inside_another.html

http://www.boutell.com/newfaq/creating/include.html

http://blog.csdn.net/omohe/archive/2007/10/28/1850766.aspx

最新资讯
头部手机厂商发声:芯片缺货,极缺!

头部手机厂商发声:芯片

手机厂商对记者表示,高通主芯片,小料都缺货,包括电源类和
芒果超媒:2020年营收140.02亿元 同比增长12.01%

芒果超媒:2020年营收14

芒果超媒今日晚间发布业绩快报,报告显示,2020年营业收入
发布至今麻烦不断,《赛博朋克2077》何时才能迎来春暖花开?

发布至今麻烦不断,《赛

1月13日,针对《赛博朋克2077》的灾难性发行,CD Projekt
磷酸铁锂版本P7将于3月3日上市?小鹏汽车内部人士:属实

磷酸铁锂版本P7将于3

据传磷酸铁锂版小鹏P7将于3月3日发布,续航480km。小鹏
长安汽车、北汽蓝谷否认为华为代工造车

长安汽车、北汽蓝谷否

今日有消息称,华为计划推出自有品牌电动汽车,正和长安汽
消息称满帮以保密方式提交IPO申请 至少融资10亿美元

消息称满帮以保密方式

中国卡车物流平台满帮集团已秘密提交了IPO(首次公开招
最新文章
详解HTML中字体使用line-height依然不能垂直居中解决办法

详解HTML中字体使用li

这篇文章主要介绍了详解HTML中字体使用line-height依
html直接引用vue和element-ui的方法

html直接引用vue和ele

这篇文章主要介绍了html直接引用vue和element-ui的方
在HTML里加载摄像头的方法

在HTML里加载摄像头的

这篇文章主要介绍了如何在HTML里加载摄像头,本文通过实
html父子页面iframe双向发消息的实现示例

html父子页面iframe双

这篇文章主要介绍了html父子页面iframe双向发消息的实
HTML用户注册页面设置源码

HTML用户注册页面设置

这篇文章主要介绍了HTML用户注册页面设置源码,代码简
当div设置contentEditable=true时,重置其内容后无法光标定位

当div设置contentEdit

这篇文章主要介绍了解决当div设置contentEditable=tru