プログラムで内容を編集する Cocoa アプリケーションに webView があります。私がやりたかったのは、クリックしたリンクをユーザーの既定のブラウザーで開くことだったので、この質問の最後にコードを追加しました。それは完全に機能しますが、ロードするページにiFrameがある場合、デフォルトのブラウザでiFrameのコンテンツが開き、アプリでフレームが正しく表示されません。リンクを開くようにwebviewに指示する方法はありますが、iFrameには何もしませんか?
- (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];
}
}