el我正在开发一个Wpf应用程序。它包含一个webbrowser,用户通过Facebook进行身份验证。问题是用户能够点击链接(例如:忘记密码?),然后打开标准浏览器......我想要做的是禁用/阻止所有外部链接。因此用户只能进行身份验证,而不能浏览webbrowser控件。我箍你们,伙计们可以帮助我。
更新1 像建议我可以检查webbrowser的来源。所以我可以允许想要的页面。但问题是链接。他们在IE上打开。我不想打开它们,但要阻止它们 Description image
Please enter a max temperature in Fahrenheit:
60
60 degrees Fahrenheit converted is 0.00 degrees Celsius
0 is the lowest F. The temperatures increment by 5.
Process finished with exit code 0
非常简洁的解释..谢谢你们的帮助!
答案 0 :(得分:0)
void Window1_Loaded(object sender, RoutedEventArgs e)
{
browser = new WebBrowser();
browser.Navigate(new Uri("http://www.google.com"));
browser.Navigating += new NavigatingCancelEventHandler(browser_Navigating);
browser.Navigated += new NavigatedEventHandler(browser_Navigated);
}
void browser_Navigating(object sender, NavigatingCancelEventArgs e)
{
//Your checks should happen here..
Console.WriteLine("Loading Webpage !!");
}
void browser_Navigated(object sender, NavigationEventArgs e)
{
Console.WriteLine("Webpage Loaded !!");
}
您可以注册WebBrowser.Navigating事件。 导航事件处理程序将传递NavigatingCancelEventArgs类的实例。您可以通过将Cancel对象的NavigatingCancelEventArgs属性设置为true来取消导航。
或者,如果URL导航不匹配,您可以调用脚本或浏览器实例来停止加载。
yourWebBrowser.InvokeScript("eval", "document.execCommand('Stop');");