J'ai un webView dans une application Cocoa dont je modifie le contenu de manière programmatique. Ce que je voulais faire, c'était que les liens cliqués s'ouvrent dans le navigateur par défaut de l'utilisateur. J'ai donc ajouté le code au bas de cette question. Cela fonctionne parfaitement mais s'il y a un iFrame sur la page qui se charge, le contenu de l'iFrame s'ouvrira dans le navigateur par défaut et ne s'affichera pas correctement dans mon application. Existe-t-il un moyen de dire au webview d'ouvrir les liens mais de ne rien faire pour les iFrames ?
- (void)webView:(WebView *)webView decidePolicyForNavigationAction:(NSDictionary *)actionInformation
request:(NSURLRequest *)request
frame:(WebFrame *)frame
decisionListener:(id)listener
{
// Open it in the default browser
NSURL *url = [request URL];
if (url)
{
[[NSWorkspace sharedWorkspace] openURL:url];
[listener ignore];
}
else
{
[listener use];
}
}