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