如何将一个HTML页面嵌套在另一个页面中
Posted 酒不醉心
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将一个HTML页面嵌套在另一个页面中相关的知识,希望对你有一定的参考价值。
一 在原页面嵌入其他页面
1、使用iframe框架
客户端页面嵌套可以使用iframe的方法,弊端是必须事先想好被嵌套的页面在首页中要占多大的位置。
如果被嵌套页面太大,超过事先定义的宽度或高度,则首页会出现滚动条。这也许正是你所需要的,
但也许会完全破坏主页的设计。
< iframe >------ < / iframe >
<iframe src="要放在框架里面的网址或文件" height="" width=""> </ifrmae>
例: <iframe src="text.asp" height="200" width="600">
<a href="text.asp">
你的浏览器不支持iframe页面嵌套,请点击这里访问页面内容。
</a>
</ifrmae >
可加属性 scrolling="No" 意为滚动条不随内容改变而出现 -- 多余的内容会被自动隐藏!
frameborder="0" 嵌套页面边框
leftmargin="0" 左边距
topmargin="0" 上边距
onscroll="true" 当元素滚动条被滚动时执行脚本 ,在html 5 中定义了该元素
插入<a>,是因为老版本的浏览器和搜索引擎不支持iframe,虽然现在已经
很少有人还会使用Netscape 4这样老的浏览器了,但是几乎所有人都会使用象Google这样的搜索引擎。
在iframe里面加上超级链接可以帮助搜索引擎找到网页的内容。
2、SSI (Server Side Include)
SSI是一种简单的动态网页制作技术,但是有些服务器要求网页文件扩展名为.shtml才能识别文件中SSI命令。所以如果你的SSI命令看起来不工作,先别放弃,试着把文件扩展名改为.shtml,也许会成功。如果知道自己的服务器是否支持SSI,请看另一篇文章。
使用SSI一个局限性是页面一定要放在网页服务器上才能看到效果,在本地是不好调试的。当然,如果非要在本地调试,就本地装一个Apache服务器好了。
比如你想在每个网页的底部加上同样的版权信息,像
? 2009 程序员实验室 版权所有
可以把这行信息放到一个叫做footer.html的文件里,footer.html的内容为:
<center> © 程序员实验室 版权所有</center>;
这样同一路径下的其他页面文件要包含footer.html的SSI命令是:
<!- #include virtual="footer.html" ->(常用)
或者
<!- #include file="footer.html" ->
这两者的几乎是一样的,不同之处在于include virtual后面取的是一个URL形式的路径,甚至还可以执行一个CGI程序并包含其输出结果,如果你的服务器支持CGI的话。而include file后面取的是一个文件系统路径,并且不能执行CGI程序。两者都可以接受相对路径,所以对上面这个简单例子,两者的效果是一样的。如果你不知道URL路径与文件系统路径两者的区别的话,就用include virtual
3、ASP和ASP.Net
如果你使用的是老式的ASP,则语法是与上面SSI一样的,不需要任何修改,只要把命令所在文件的扩展名改为.asp即可。
对于ASP.NET,也是类似,不同之处在于,因为SSI命令是在ASP命令运行之前被首先编译,所以文件名中不能够使用ASP.NET的变量。如果一定要用的话,就用ASP.NET的命令来做文件嵌套吧。
比如:
<% Response.WriteFile ("footer.html") %>
更多关于怎样在ASP.NET中实现动态文件嵌套,请参考微软的这篇文章。
4、PHP
如果你的服务器支持php的话,用PHP引用footer.html文件的写法如下:
<?php include("footer.html"); ?>
这句命令所在的文件扩展名必须被为.php。
除了引用本服务器上的文件,PHP的include命令还可以用来引用其它网站上的html文件,比如:
<?php include(http://www.prglab.com/examples/footer.html); ?>
当然你要得到其它网站的允许才能引用别人的文件。
5、JSP (Java Server Page)
JSP文件需要在基于Java的服务器上运行,比如Apache Tomcat。JSP包含文件的语法是:
<%@ include file="footer.html" %>
以上是关于如何将一个HTML页面嵌套在另一个页面中的主要内容,如果未能解决你的问题,请参考以下文章