查看嵌套网页url方法

如题所述

这个在做网页中常要用到,有些通用的内容可集中放在一个页面文件中,其它要用到这些内容的页面只需要包含(引用)这个通用文件即可。这样便于维护,如果有很多网页,当通用内容需要修改时,只改一个文件就可以了,不需要每个文件单独修改。

最典型的应用比如页脚的版权信息等内容可以放在一个叫做footer.html文件里, 然后其他页面文件在页面内容的最后包含这个文件就可以了,具体例子下面有。

要html文件嵌套,最简单的办法是使用SSI(Server Side Include)技术,也就是在服务器端两个文件就被合并了。除了少数免费网页寄存服务外,几乎所有的网页寄存服务器都支持 SSI。这也是一个比较推荐的方法,它与ASP和ASP.NET网页使用的语法一模一样。如果网站管理员偏向使用PHP或JSP的话,语法会稍有不同。

对于不能使用SSI、ASP、ASP.NET、PHP和JSP等服务器端动态页面语言的情况,这里还将介绍两种客户端镶嵌的办法:JavaScript和iframe的方法。当这两种客户端的方法都有很大的弊病,一般不推荐使用。

下面对各种方法单独具体介绍。

1、SSI (Server Side Include)

SSI是一种简单的动态网页制作技术,但是有些服务器要求网页文件扩展名为.shtml才能识别文件中SSI命令。所以如果你的SSI命令看起来不工作,先别放弃,试着把文件扩展名改为.shtml,也许会成功。如果知道自己的服务器是否支持SSI,请看另一篇文章。

使用SSI一个局限性是页面一定要放在网页服务器上才能看到效果,在本地是不好调试的。当然,如果非要在本地调试,就本地装一个Apache服务器好了。

比如你想在每个网页的底部加上同样的版权信息,像

可以把这行信息放到一个叫做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

更多关于SSI的介绍,请看这篇SSI的介绍文章。

2、PHP

如果你的服务器支持PHP的话,用PHP引用footer.html文件的写法如下:

<?php include("footer.html"); ?>

这句命令所在的文件扩展名必须被为.php。

除了引用本服务器上的文件,PHP的include命令还可以用来引用其它网站上的html文件,比如:

<?php include(http://ww的文件。

3、ASP和ASP.NET

如果你使用的是老式的ASP,则语法是与上面SSI一样的,不需要任何修改,只要把命令所在文件的扩展名改为.asp即可。

对于ASP.NET,也是类似,不同之处在于,因为SSI命令是在ASP命令运行之前被首先编译,所以文件名中不能够使用ASP.NET的变量。如果一定要用的话,就用ASP.NET的命令来做文件嵌套吧。

比如:

<%

Response.WriteFile ("footer.html")

%>
更多关于怎样在ASP.NET中实现动态文件嵌套,请参考微软的这篇文章。

4、JSP (Java Server Page)

JSP文件需要在基于Java的服务器上运行,比如Apache Tomcat。JSP包含文件的语法是:

<%@ include file="footer.html" %>

5、客户端包含

5。1 客户端包含的利弊

客户端包含有两种方式:JavaScript和iframe。让我们先看看两种方法各有什么利弊。

两种方法中Javascript生成的页面格式比较好,Javascript可以从一个URL取到页面片断然后镶嵌在另一个页面的任何位置 。其结果与服务器端包含的结果基本上一样,但弊端是客户端必须开启Javascript功能(目前大多数人是选择开启的,但也有少数出于安全方面的考虑不开启)。另一个弊端是搜索引擎是看不到由Javascript包含的页面的内容的,这对你的网站推广比较不利。

使用iframe比较简单,它可以强制一个HTML页面镶嵌在另一个页面中,类似于是用 object控件将Flash电影、录像、或者MP3播放器嵌入一个页面中。使用iframe,用户端不需要开启Javascript功能。但不利的方面是iframe有固定的高度和宽度,不能随着被嵌入页面的大小而改变。当被嵌入页面大于给定高宽度时,会显示滚动条(当然你也可以使用 scrolling = "no" 来强制滚动条不显示,但这样页面内容会显示不完整),影响页面美观。另外就是搜索引擎可能不收录iframe引用的页面,不利网站推广。

5。2 使用JavaScript的客户端包含

这个方法主要适用于Firefox浏览器(任何操作系统)、IE5以上(Windows)、苹果的Safari浏览器(MacOS X),可以使用一项叫做XMLHTTP 的API技术来通过Javascript程序读取一个动态读取一个XML文件。这种方法也可以用来读取一个HTML文件,并放到当前网页文件的指定位置。

专业网站设计者:不要用这个! 也许在某些情况下你不得不用JavaScript来实现网页嵌套,但是这只是一种转弯抹角的替代方法。当你的服务器可以支持前面讲的服务器端嵌套方法时,尤其是专业人士,应尽可能避免使用这种方法,因为你的客户可能会投诉你做的网页内容无法被Google搜索到,或不能在某些浏览器中正常显示。

记住这种方法做的网页只能在Firefox,Safari,和IE5以上版本的浏览器中正常显示。大部分人都是用这几种浏览器的,但是不是所有人,而且有些用户因为安全因素考虑会关闭Javascript功能。

重要提示:如果你是在本地电脑上调试网页而不是在服务器上浏览,最新版本的IE浏览器会自动屏蔽Javascript动态生成的部分,并显示警告信息,你必须选择”允许显示动态内容”网页才能正常显示。当你把这些网页文件放到服务器上去的时候这个问题就会自动消失的,因为IE会辨别出主页和被包含的网页内容都来自同一个服务器。

好了,说了够多了,下面是具体怎么做。把以下代码放在网页的<head>里面:

<script>
function clientSideInclude(id, url) {
var req = false;

// Safari, Firefox, 及其他非微软浏览器
if (window.XMLHttpRequest) {
try {
req = new XMLHttpRequest();
} catch (e) {
req = false;
}
} else if (window.ActiveXObject) {

// For Internet Exp www.hbbz08.com lorer on Windows
try {
req = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
req = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {
req = false;
}
}
}
var element = document.getElementById(id);
if (!element) {
alert("函数clientSideInclude无法找到id " + id + "。" +
"你的网页中必须有一个含有这个id的div 或 span 标签。");
return;
}
if (req) {
// 同步请求,等待收到全部内容
req.open(’GET’, url, false);
req.send(null);
element.innerHTML = req.responseText;
} else {
element.innerHTML =
"对不起,你的浏览器不支持" +
"XMLHTTPRequest 对象。这个网页的显示要求" +
"Internet Explorer 5 以上版本, " +
"或 Firefox 或 Safari 浏览器,也可能会有其他可兼容的浏览器存在。";
}
}
</script>
有了这段代码我们就可以在网页的任何位置插入另一个页面了。首先我们要生成一个作为”容器”的HTML控件,比如<span>,并给这个”容器”控件一个ID,比如includefooter,然后把这个ID和要包含的页面的URL地址传递给前面写的这个js函数clientSideInclude就可以了。

一个需要注意的地方是函数clientSideInclude只有在页面被完全加载后才能工
温馨提示:内容为网友见解,仅供参考
无其他回答

查看嵌套网页url方法
首先我们要生成一个作为”容器”的HTML控件,比如,并给这个”容器”控件一个ID,比如includefooter,然后把这个ID和要包含的页面的URL地址传递给前面写的这个js函数clientSideInclude就可以了。一个需要注意的地方是函数clientSideInclude只有在页面被完全加载后才能工 已赞过 已踩过< 你对这个回答的评价是? 评论 收起...

网页里面嵌套网页?
5、使用iframe的客户端包含客户端页面嵌套还可以使用iframe的方法,弊端是必须事先想好被嵌套的页面在首页中要占多大的位置。如果被嵌套页面太大,超过事先定义的宽度或高度,则首页会出现滚动条。如何把一个页面嵌入到另一个页面中一个网站的内容嵌套到另一个网页中可以使用iframe框架实现,如下图,这样...

在一个.aspx页面中,嵌套的显示另外一个.aspx页面,求详细的操作过程,代 ...
服务器方法Server.Execute(url路径)方法 两种方法都很简单,可以自行查阅。几行代码就可以实现你要的功能。

html内嵌网页(html5嵌套网页)
怎样在一个HTML中嵌入另一个HTML页面使用方法示例:Iframe:iframesrc="top1.html"frameBorder="0"width="900"scrolling="no"height="90"\/iframe2、Behavior的download方式spanid=show\/spanIE:DownloadID="oDownload"STYLE="behavior:url(#default#download)"\/scriptfunctiononDownloadDone(downDate){showIm...

一个网站用iframe,嵌入另一个网站vue的url能嵌入吗
一个网站用iframe,嵌入另一个网站vue的url能嵌入的。建议使用微前端嵌套,或者将需要嵌套的页面打包好后再嵌套。因为是两个vue项目,现在菜单系统的vue项目使用iframe来嵌入另一内容vue项目。登录得到的token不能共享。解决思路:使用postMessage把菜单项目的token传递给内容vue项目。

htmliframe嵌套页面?
这个可以通过iframe框架来做;就是在HTML页面里面加入一个框架,在框架内使用另一个HTML页面显示内容。scrollingyesnoauto规定是否在iframe中显示滚动条。seamlessseamless规定iframe看上去像是包含文档的一部分。srcURL规定在iframe中显示的文档的URL。关于iframe嵌套页面用法scrolling表示是否显示页面滚动条,可选...

如何将一个html页面中嵌入另一个html页面
1、首先,要嵌入html并不一定要写js代码,如图使用iframe标签,设置其src属性即可。注意其scrolling="auto"以添加滚动条。另外,其width和height要单独设置。2、其链接到的html页面内容如图所示。给其添加如图meta标签,增加自动刷新功能。3、在Python编写的httpserver中(Tornado),这两个url的请求都要处理...

Django如何使用网页嵌套网页(2023年最新解答)
导读:本篇文章首席CTO笔记来给大家介绍有关Django如何使用网页嵌套网页的相关内容,希望对大家有所帮助,一起来看看吧。django中怎么在一个网页向另一个网页传递参数获取字典中某个key的值有2种方式:printuser.get('username')11 printuser['username']11 他们到底有什么区别呢?我来常识打印一个没有...

网页变化时地址没变,怎么知道当前页面的真实地址?
使用嵌套技术了就是框架技术,主框架不变地址不变变得就是某一个框里面的内容

这是在新闻管理系统中生成的静态页面吗?
他不想他的网页源代码被人窃取,所以用show.jsp做了iframe(嵌套)实际的页面001.htm。因为虽然禁止了右键,还是可以通过浏览器上面的 查看》》》源文件 来盗取代码,但是他在实际页面加了一个外套(show.jsp)后,你看到的就是你发出来的那段代码,就不能剽窃到他的页面内容了。针对你问的问题,这个...

相似回答