C# Web浏览器控件';s URL显示javascript:false;
我正在窗口窗体中使用web浏览器控件。每当我在web浏览器控件中打开网站时,它有时会显示一个绝对URL(例如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();
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的反馈。