在框架中怎么退出登陆,怎么写才能完美?

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>Angel_asp企业网站管理系统V1.0</title>
</head>
<frameset rows = "8%,*">
<frame src = log.htm />
    <frameset cols = "20%,*"> < !--只需这样就可以嵌套使用-->
    <frame src = operate.htm scrolling="auto" name="operate" />
    <frame src = welcome.htm name = content scrolling="auto" noresize />
    </frameset>
</frameset>
</html>

正确从框架中退出

框架不流行的一部分原因是它在许多浏览器上糟糕的执行结果,我们都有过不愉快的经历:为了仅仅发现没有框架隐藏在背后,我们不得不离开一个网站,这是令人讨厌的。
然而,你可以做得更好:你会学习到怎样控制你的框架。

控制框架的秘密在于TARGET标识符的四个特殊的值。通过使用这些值“_blank”、“_parent”、“_self”和“_top”,你可以从不同级别的框架中跳出来。

这四个值中最常用的是“_top”,它使浏览器窗口摆脱所有的框架。
下面的例子说明了如何使用这个值:

<HTML>

<HEAD>

<TITLE> Table of Contents </TITLE>

</HEAD>

<BODY>

<UL>

<LI> <A HREF=“home.html” TARGET=“_top”> HOME </A>

<LI> <A HREF=“chapter1.html” TARGET=“CHAPTER”> Chapter 1: </A>

Everything You Need To Know About Active Server Pages

<LI> <A HREF=“chapter2.html” TARGET=“CHAPTER”> Chapter 2: </A>

Even More Information On Active Server Pages

</UL>

</BODY>

</HTML>

这个HTML文件被用来建立一个目录表,它有一个超链接,这 个超链接指向网站的主页。
当你用鼠标点击这个超链接时,你不想让主页被读入目录表的框架中,你也不想让主页被读入章节内容的框架中,你想所有的框架都消 失,让主页占据整个屏幕空间。
在此例中,属性TARGET=“_top”完成了这一功能。

当你需要将浏览器窗口中的所有框架都消除时,可以使用 “_top”值。
当你要与外部的网站链接时,这个值是很有用的。
如果你不想让外部网站的网页显示在一个框架中的话,就必须使用“_top”值。
最后,如果 你想不通过框架来提供你网站的版本(这通常是很好的),你应当在你指向版本的链接中使用“_top”值。

TARGET属性的另一个有潜在价值的值是 “_parent”,你可以通过在一个frameset文件将<FRAME>标识符的SRC属性指向另一个frameset文件来建立一个框 架。
当你建立具有一定复杂程度的屏幕布局,你就需要用这种方法来建立框架。“_parent”值允许你从当前一级的框架中返回到当前 frameset文件的父框架中。

注意

你可能想知道在一个frameset文件中构建它本身时会发生什么。例如,下面的名为myself.html的frameset文件在一个错误的循环中引用了自己:

<TITLE> Vicious Frames </TITLE>

<FRAMESET ROWS=“*” COLS=“*”>

<TARGET SRC=“myself.cfm”>

</FRAMESET>

我很遗憾地告诉大家,计算机对此无法识别,屏幕上什么也没有发生,只显示一个空白的页。

TARGET属性的“_blank”值打开一个新的、空白的窗口。当你想打开一个新窗口时,这个值是很有用的,但不必操心给它一个名字。
然而,如果你将来想链接进同一个窗口的话,你应当为这个窗口提供一个名字。

最后,TARGET属性的“_self”值是这个属性的缺省值,你可能从来也不需要这个值。
当你点击个链接时,缺省情况下,这个链接所指向的网页将被读入当前的框架中。
如果窗口中没有框架,新的网页就被读入当前的窗口中。

对框架的最后考虑

使用框架要小心,你应当时刻注意那许多的网络迷们对框架所报的厌恶态度。
当你要使用框架时,你应该考虑是否可以用表格来代替它。

如果你要使用框架,就得小心谨慎地处理它们。
当你有一个指向你网点外部的网站的超链接时,不要忘记使用 TARGET=“_top”属性来使所有的框架消失。
而且,你应当在低分辨率的屏幕上测试你的网页来确定框架没有影响一些重要的内容。

最后,如果你决定要使用框架,可以考虑提供一个网页的非框架的版本。
你可以在你的主页上包含一个No Frame的超链接来允许参观者不使用框架就能浏览你网点的内容。
在任何情况下,你都需要建立一个网页的非框架版本,因为并不是所有的浏览器都支持框架。

综上所述,框架在某些情况下确实能改善你的网站,某些特殊的效果只有使用框架才能获得。
你可能会冒险疏远一些用户,但网页设计就是充满着冒险的。

问题:frameset框架,在框架上一个页面有退出登陆的链接,现在点击这个链接能将session清空,
但是跳转不是整个frameset跳到新页面,只是有退出登陆链接的那个页面跳转到了新页面.
用javascript把退出登陆做成关闭窗口的链接也不行,在frameset中好象不起作用.
我该怎么做才能使整个frameset页面跳转到新页面啊? 或者用别的方法做退出登陆?

以下是jsp方法
参照:
mainFrame.jsp
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>::::::::::::::Angel_asp新闻出版局---功能页::::::::::::::::::::</title>
<frameset cols=15%,86% id="parentFrame"> 
  <frame src="leftMenu.jsp" name="left" > 
  <frameset rows=4%,* cols="*" framespacing="0" frameborder="0"> 
    <frame src="top.jsp" name="top" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" > 
    <frame src="userManage.jsp" name="main"> 
  </frameset> 
</frameset>
<noframes></noframes>
logout.jsp
<%@ page 
language="java"
contentType="text/html;charset=gb2312"%>
<%
session.removeAttribute("LoginID");
session.removeAttribute("Role");
out.println("<script>");
out.println("window.top.location.href='index.jsp';");
out.println("</script>");
%>
退出框架
<a href="login/login?action=logout" target="_top">退出</a>

以上 可以看出 退出框架不是那么难吧!不过要是在前台网页设计中一般不用框架一个框架用其它不方便,而且页面控制起来特别不方便。
一般来说我见得最多的还是后台页面。


来源:http://hi.baidu.com/angelcms/item/5911adc5c38dc16e89ad9e9a

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值