我正在开发一个asp.net项目(前一段时间写过),用户说他们希望能够在标签或浏览器上注销“x'ing”。
我一直在寻找这个网站,并尝试了一些没有运气的事情。有不同的浏览器似乎没有一个简单的方法。
首先,这是一个从logout button
调用的注销函数。
public void LoginStatus1_LoggingOut(object sender, LoginCancelEventArgs e)
{
Response.Cookies.Clear();
Session.Clear();
HttpContext.Current.User = null;
FormsAuthentication.SignOut();
}
如果我能在关闭标签/浏览器时以某种方式调用它,那就太好了。
母版页中有这个javascript:
<script type="text/javascript">
// Copyright 2006-2007 javascript-array.com
var timeout = 500;
var closetimer = 0;
var ddmenuitem = 0;
// open hidden layer
function mopen(id)
{
// cancel close timer
mcancelclosetime();
// close old layer
if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
// get new layer and show it
ddmenuitem = document.getElementById(id);
ddmenuitem.style.visibility = 'visible';
}
// close showed layer
function mclose()
{
if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
}
// go close timer
function mclosetime()
{
closetimer = window.setTimeout(mclose, timeout);
}
// cancel close timer
function mcancelclosetime()
{
if(closetimer)
{
window.clearTimeout(closetimer);
closetimer = null;
}
}
// close layer when click-out
document.onclick = mclose;
</script>
然而,它似乎不起作用。我用timeout
变量搞乱了,无论我退出标签/浏览器后等待多久,cookie / session都不会清除。我知道chrome
有一个“继续你离开的地方”功能,其他浏览器有类似的我确定。不幸的是,所有用户都不使用相同的浏览器。
任何想法都会受到欢迎!