在面向对象软件开发的时候,我们经常提到“复用”,很好地复用代码不仅可以大大提高开发效率,同时使得代码更易于维护。
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

最新资讯
腾讯邹正宇:中国泛二次元用户达3.5亿 将发力漫动画

腾讯邹正宇:中国泛二次

邹正宇表示,95后和00后对于中国传统文化的喜爱超出想象
映客发布自愿性股份回购公告:不超过1亿港元

映客发布自愿性股份回

今日映客公布2018年度业绩的同时,也发布了自愿性股份回
BAT十年财报对比:AT争王、百度掉队

BAT十年财报对比:AT争

过去十年,没有任何一家企业,能撼动BAT三分天下的格局。
华为砸百亿建的东莞欧洲小镇,打卡攻略在此(组图)

华为砸百亿建的东莞欧

想要欧洲一日游?来华为松山湖基地。风景梦幻、设施豪华
腾讯程武:腾讯影业将发力三方向 讲好中国故事

腾讯程武:腾讯影业将发

3月24日下午消息,2019腾讯新文创生态大会在国家会议中
直击|单霁翔讲述故宫探索 保护文物要让文物活起来

直击|单霁翔讲述故宫

2019腾讯新文创生态大会在国家会议中心召开,故宫博物院
最新文章
HTML实现2列布局(左侧宽度固定,右侧自适应)的方法示例

HTML实现2列布局(左侧

这篇文章主要介绍了HTML实现2列布局(左侧宽度固定,右侧
Html读取本地文件夹下图片并显示的示例代码

Html读取本地文件夹下

这篇文章主要介绍了Html读取本地文件夹下图片并显示的
详解 html area标签

详解 html area标签

area 元素总是嵌套在 <map> 标签中。本文重点给大家介
HTML中两个tabs导航冲突问题的解决方法

HTML中两个tabs导航冲

这篇文章主要介绍了HTML中两个tabs导航冲突问题的解决
详解前端在html页面之间传递参数的方法

详解前端在html页面之

这篇文章主要介绍了详解前端在html页面之间传递参数的
详解HTML onfocus获得焦点和onblur失去焦点事件

详解HTML onfocus获得

这篇文章主要介绍了详解HTML onfocus获得焦点和onblur