可可 – 在Safari中打开WebView链接

我正在Cocoa开发一个应用程序,我想知道是否有一种方法/如何使我的网络视图中的任何链接点击在Safari(或默认浏览器)中启动.提前致谢!
最佳答案
我刚刚遇到这个问题,并以这种方式解决了这个问题:

我的主控制器对象被设置为WebView的policyDelegate.

然后实现这个方法:

- (void)webView:(WebView *)webView 
    decidePolicyForNavigationAction:(NSDictionary *)actionInformation
    request:(NSURLRequest *)request frame:(WebFrame *)frame 
    decisionListener:(id < WebPolicyDecisionListener >)listener
{
    NSString *host = [[request URL] host];
    if (host) {
        [[NSWorkspace sharedWorkspace] openURL:[request URL]];
    } else {
        [listener use];
    }
}

我需要在那里检查主机,否则当我加载WebView的初始内容(只是我的项目中的静态html页面)时,它正在Safari中启动.现在,只需与实际主机(外部链接)的链接发送到Safari,这是我想要的行为.我想我也可能没有设置policyDelegate直到初始页面被加载.

转载注明原文:可可 – 在Safari中打开WebView链接 - 代码日志