将页面强制保持在所属框架中
在有的情况下,用户可能会遇到一些内容文档独立于本该包含它的框架集之外(比如我们在制作管理页面的首页时,常常是一个框架集,框架子页如果用Ctrl+N打开就会落在框架集之外),为了避免内容页出现在框架集环境之外,可以在任何需要出现框架集中的文档标头处添加以下JS代码:
<script language="JavaScript">
<!-- 对就得浏览器隐藏
if (top.location==self.location){
self.location.replace("frameset.html")
}
// 停止隐藏 -->
</script>
脚本的第一行检查当前窗口的最顶层框架是否为该文档,如果是,则脚本的第二行就通知浏览器用框架集文档(本例中为frameset.html,不过要在这个位置上替换上你自己的文件名称) 来代替这个文档.
另外一个可用的技巧是: 使用动态页面的条件显示来制作框架集
例如我们使用 ASP/VB 建立如下框架集
<frameset rows="461*" cols="166,710*" frameborder="NO" framespacing="0">
<frame src="default.asp?action=menu" scrolling="auto" noresize>
<frameset rows="25,*" cols="*" framespacing="0" frameborder="NO">
<frame src="default.asp?action=head" frameborder="no" scrolling="NO" noresize marginwidth="0" marginheight="0" framespacing="0">
<frame src="default.asp?action=main" frameborder="no" marginwidth="0" marginheight="0" framespacing="0">
</frameset>
</frameset>
<noframes>
这里的框架子叶为同一个文件default.asp的不同部分(使用条件显示区分内容),分别是:
default.asp?action=menu
default.asp?action=head
default.asp?action=main
这样产生的框架集用 Ctrl + N的方式代开 子叶内容永远是落在框架集里的.