Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Web浏览器控件';s URL显示javascript:false;_C#_Webbrowser Control - Fatal编程技术网

C# Web浏览器控件';s URL显示javascript:false;

C# Web浏览器控件';s URL显示javascript:false;,c#,webbrowser-control,C#,Webbrowser Control,我正在窗口窗体中使用web浏览器控件。每当我在web浏览器控件中打开网站时,它有时会显示一个绝对URL(例如https://employer.dice.com/daf/servlet/DAFctrl)然后突然变为javascript:false private void webBrowser_Navigating(object sender, WebBrowserNavigatingEventArgs e) { tbUrl.Text = e.Url.ToString();

我正在窗口窗体中使用web浏览器控件。每当我在web浏览器控件中打开网站时,它有时会显示一个绝对URL(例如
https://employer.dice.com/daf/servlet/DAFctrl
)然后突然变为
javascript:false

private void webBrowser_Navigating(object sender, WebBrowserNavigatingEventArgs e)
    {
        tbUrl.Text = e.Url.ToString();

    }
当我使用常规web浏览器打开同一链接时,它不会将URL更改为
javascript:false

private void webBrowser_Navigating(object sender, WebBrowserNavigatingEventArgs e)
    {
        tbUrl.Text = e.Url.ToString();

    }

你知道如何解决这类问题吗

如何处理导航事件取决于您。浏览器可能会禁止不改变当前资源的导航事件。你也可以这样做:

private void webBrowser_Navigating(object sender, WebBrowserNavigatingEventArgs e)
{
    WebBrowser browser = sender as WebBrowser;
    // only change the url if the Scheme is not javascript
    if (!e.Url.Scheme.StartsWith(
                       "javascript",  
                       StringComparison.CurrentCultureIgnoreCase)
        && ( browser !=null && (e.Url.AbsolutePath == browser.Url.AbsolutePath)) )
    {
        tbUrl.Text = e.Url.ToString();
    }   

}

如何处理导航事件取决于您。浏览器可能会禁止不改变当前资源的导航事件。你也可以这样做:

private void webBrowser_Navigating(object sender, WebBrowserNavigatingEventArgs e)
{
    WebBrowser browser = sender as WebBrowser;
    // only change the url if the Scheme is not javascript
    if (!e.Url.Scheme.StartsWith(
                       "javascript",  
                       StringComparison.CurrentCultureIgnoreCase)
        && ( browser !=null && (e.Url.AbsolutePath == browser.Url.AbsolutePath)) )
    {
        tbUrl.Text = e.Url.ToString();
    }   

}

你可以发布你影响网络控制中Url的代码以及你用来测试它的Url吗?@Askolein我发布在问题正文你可以发布你影响网络控制中Url的代码以及你用来测试它的Url吗?@Askolein我发布在问题正文我使用了这个`if(e.Url.AbsolutePath!=webBrowser.Url.AbsolutePath)返回;`我能理解为什么会这样。然而,如果webBrowser.Url被设置为一个你需要被禁止的Url,那么你的代码就会让它成为现实。很高兴这对你来说效果很好。rene我在文档中使用了这个来完成事件。因为您的代码有助于抑制“javascript”,但在文档完成事件中,每当i-frame加载它时,我都会看到它触发并生成不同的url。好的,那个场景并没有浮现在脑海中,我添加了您的选项。。。tnx作为反馈。我使用了这个`if(e.Url.AbsolutePath!=webBrowser.Url.AbsolutePath)返回;`我能理解为什么会这样。然而,如果webBrowser.Url被设置为一个你需要被禁止的Url,那么你的代码就会让它成为现实。很高兴这对你来说效果很好。rene我在文档中使用了这个来完成事件。因为您的代码有助于抑制“javascript”,但在文档完成事件中,每当i-frame加载它时,我都会看到它触发并生成不同的url。好的,那个场景并没有浮现在脑海中,我添加了您的选项。。。tnx的反馈。