如何隐藏Web浏览器导航?

时间:2013-01-02 10:49:18

标签: c# winforms navigation browser

我有一个表单,在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;
        }
    }
}

2 个答案:

答案 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事件或其他地方编写注销概念。因此,下次当用户打开该时间时,它将自动重定向到登录页面。并且需要在注销后刷新所有对象。