可可制作WKWebView命令+链接单击在新窗口中打开

时间:2018-10-14 02:09:14

标签: macos cocoa wkwebview

我试图让WKWebView在用户单击链接时按下cmd键时在新窗口/选项卡中打开链接,就像在任何浏览器中一样。我找不到这样做的本机api(或者我只是在谷歌搜索上很烂)。谁能给我一个主意,我该如何在没有恶意黑客的情况下实现这一目标?我想念一个天真的api吗?

1 个答案:

答案 0 :(得分:0)

使用 WKNavigationDelegate

在导航过程中,

- (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler;

方法将被调用。 WKNavigationAction对象具有 modifierFlags 属性,该属性告诉您在clic期间是否按下了cmd键。

如果是这样,请执行任何操作以打开带有新WKWebView的新窗口/选项卡,然后从此处开始加载页面(我个人发送了一个事件,其中包含所有稍后将要处理的信息)。

最后,通过调用

取消当前的Web视图导航
decisionHandler(WKNavigationActionPolicyCancel) ;