gpt4 book ai didi

cocoa - 在 Safari 中打开 WebView 链接

转载 作者:行者123 更新时间:2023-12-03 16:04:59 25 4
gpt4 key购买 nike

我正在 Cocoa 中开发一个应用程序,我想知道是否有一种方法/如何使我的 webview 中单击的任何链接在 Safari(或默认浏览器)中启动。提前致谢!

最佳答案

我自己也遇到了这个问题,并通过以下方式解决了:

我的主 Controller 对象被设置为 WebView 的策略委托(delegate)。

然后实现这个方法:

- (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。

关于cocoa - 在 Safari 中打开 WebView 链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4530590/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com