我有一个表单,在webbrowser上加载显示登录表单。当用户登录然后退出而不退出时,它会在下次启动时自动将他登出并再次向他显示登录表单。要从站点2导航需要导航,但我没有用户看到导航,我希望浏览器是白色的,直到所有导航完成或类似的东西。
bool f = true;
private void Form1_Load(object sender, EventArgs e)
{
wbLoad.Navigate("http://login.uid.me/?site=dmysite&ref=http://mysite.ucoz.com/");
}
private void wbLoad_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
if (f == true)
{
if (wbLoad.DocumentText.Contains("Sign up"))
{
wbLoad.Navigate("http://login.uid.me/?site=dmysite&ref=http://mysite.ucoz.com/");
f = false;
}
else if (wbLoad.DocumentText.Contains("Log out"))
{
wbLoad.Navigate("http://mysite.ucoz.com/index/10");
f = true;
}
else
{
wbLoad.Navigate("http://uid.me/logout/?mode=1&noajax=1");
f = true;
}
}
}
答案 0 :(得分:2)
在大多数情况下,注销意味着只删除当前主机的cookie。如果是你的情况,你可以使用javascript来做到这一点。请注意,此JS将仅删除当前主机的cookie。您可以在FormClosing
事件
wbLoad.Navigate("javascript:void((function(){var a,b,c,e,f;f=0;a=document.cookie.split('; ');for(e=0;e<a.length&&a[e];e++){f++;for(b='.'+location.host;b;b=b.replace(/^(?:%5C.|[^%5C.]+)/,'')){for(c=location.pathname;c;c=c.replace(/.$/,'')){document.cookie=(a[e]+'; domain='+b+'; path='+c+'; expires='+new Date((new Date()).getTime()-1e11).toGMTString());}}}})())");
答案 1 :(得分:0)
您需要在Form Close事件或其他地方编写注销概念。因此,下次当用户打开该时间时,它将自动重定向到登录页面。并且需要在注销后刷新所有对象。