J'ai le contrôle WebBrowser pour ouvrir les liens dans mon navigateur par défaut comme ceci:webbrowser iframes ouvert dans le navigateur par défaut
private void webBrowser1_Navigating(object sender, WebBrowserNavigatingEventArgs e)
{
if (e.Url.ToString() != "about:blank")
{
e.Cancel = true;
System.Diagnostics.Process.Start(e.Url.ToString());
}
}
Cela fonctionne très bien, mais si je charge un document contenant des éléments iFrame ceux-ci seront ouvert également dans le navigateur du système (principalement des éléments intégrés, comme Google Maps, les icônes Digg, etc.). Comment puis-je conserver les iframes dans le contrôle Webbrowser et les liens cliqués par l'utilisateur dans le navigateur du système?
Vous disposez d'un contrôle WebBrowser dans votre Windows Form. Et vous voulez que certaines URL soient lancées dans le navigateur du système d'exploitation et certaines dans votre fenêtre de formulaire? –
Exactement. La façon dont je le fais maintenant n'est pas optimale. Les éléments de la page comme iframe déclenchent l'événement Navigating, donc j'obtiens des parties d'une page "pop-up" dans Firefox pendant que le reste (comme les images) se charge tranquillement dans le contrôle de Webbrowser. Seuls les liens cliqués par l'utilisateur devraient s'ouvrir dans le navigateur par défaut. –