快速业务通道

web平台动态页面自动生成静态网页中包含的外部页面的四种办法

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-20

开发web平台时,很多程序员都注重自己的网页访问速度快(当然这些快的原因还有服务器配置、接入 带宽等),现在来谈谈程序编写这块,因为静态页面访问速度比动态的快,所以我们就是想如何把自己动 态的页面变成静态页面。比如www.bianceng.cn 各栏目读取内容页面就是静态页面。

下面就举四种办法来说说静态页面中如何包含外部页面:

一、应用框架技术

在生成静态页面后要在宿主页面中嵌入外部读取数据库页面的方法是,在宿主页面中包含外部页面的 位置插入“<IFRAME name="XXX" width=X height=X frameborder=0 src="XXX.htm"></IFRAME>”语句即可(注意: <IFRAME>标签中的各种属性含义请查阅相 关技术手册)。  如果想在嵌入的外部页面过长时不出现滚动条,在外部文件<body>标签中加入“ scroll=no”或者在宿主页面<IFRAME& gt;标签中加入“scrolling=no”即可。  但这样做会出 现一个问题,就是宿主页面和外部页面背景色不同,这样会给人造成页面不是一个整体的感觉。这时,只 要在引入的外部文件中使用和宿主页面相同的背景色就可以解决这一问题。注意,如果您使用的是IE 5.5 或以上版本的话,直接在标签<IFRAME>内设置属性allowTransparency="true"(即框架背景透明)即 可。

在应用框架技术时,为什么不使用框架页面(即<FRAMESET>)呢?现在有很多网站是通过使用框 架页面来分割版面的,并达到了统一网站整体风格的目的,但笔者的体会是框架页面的操作灵活性较差, 不像内建框架(即<IFRAME>)这样可以在宿主页面中的任何位置插入。

二、使用Scriptlets组件技术

应用这种技术的方法是在生成静页面(宿主页面)中包含外部页面的位置插入“<OBJECT style="border: 0px" type="text/x-scriptlet" data="XXX.htm" width=X Height=X></OBJECT>”语句即可(注意: <OBJECT>标签中的各种属性含义请查阅相关技术 手册)。

在IE 5.0及以后版本中,scriptlets和Html组件(HTCs)被重新命名为Windows脚本编程组件(WSC),其 特点类似于上文所讲的框架技术。它有自己的不透明方形区域,并覆盖在宿主页面上,因此不能很平滑地 用于具有纹理背景的宿主页面中,其工作方式类似于ActiveX控件,具有自己独立的事件、方法和属性。

三.使用脚本文件技术

我们知道document.write方法可以在宿主页面中输出内容,这样就可以通过在宿主页面中引入外部脚 本文件来达到嵌入外部页面的目的。方法是在宿主页面中包含外部页面的位置插入“<SCRIPT language="javascript" src="import.js"></SCRIPT>”,然后对外部页面进行改造,将每一行 内容写入document.write中,并另外保存在扩展名为js的新文件中。

这种方法的特点是外部页面不具有自己的方形区域,和宿主页面浑然一体,但由于外部页面内容全部 写在脚本中,无法做到所见即所得,必须等到脚本运行时才能看到实际效果,这样就为修改调试增加了困 难。同时要注意的是,假如你是用来包含象头部,导航这些的话,建议不要用这个.不利于搜索引擎的搜集 。

四.使用内置行为技术

在IE 5.0及以后版本,引入了一项被称为“DHTML行为”的新功能,并在其中内置了许多默认行为。当 将一种行为应用于宿主页面上的标准HTML元素时,它可以增强该元素的默认功能,并提供该行为中定义的 任何新方法、属性或事件。其实大家对行为技术并不陌生,微电脑世界2001年18期的《主页加入收藏设置 面面观》一文就提到了利用IE中内置的homepage行为技术进行主页设置的方法。我们同样可以利用IE 5.0 内置的download行为,来达到在宿主页面中嵌入外部页面的目的,其代码如下。

<span id="outHTML"></span>
<IE:Download ID="ieDownload" STYLE="behavior:url(#default#download)"/>
<script>
function onDownloadDone(downDate){
outHTML.innerHTML=downDate
}
ieDownload.startDownload(''../static/article.htm'',onDownloadDone)
</script>

其原理就是使用download行为提供的startDownload方法下载一个外部文本文件,并将文件中的文本内 容作为参数传递给 onDownloadDone函数,然后再由该函数对文本内容进行处理,在本例中是作为 showImport对象的内容显示出来。如果在函数中对文本内容做相应的处理,并与相关技术结合,如XML, 就可以实现更为复杂的功能。 具体实例http://www.sanyalanhua.com/news/2010131113126.html 该网 站里所有自动生成的页面都是用这种方法。

这种方法使得外部页面不再具有自己的方形区域,和宿主页面浑然一体; 提供了更大的灵活性,通过 使用对象的innerHtml属性可以真正做到在宿主页面的任何位置插入外部文件内容; 修改简单,只须用可 视网页编辑软件(如FrontPage 2000)将外部页面修改即可轻松改变网站整体风格。可以说这是在宿主页面 中嵌入外部页面的最好方法 (注: 以上代码在Windows 98 SE/IE 5.0中测试通过)。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号