OSX - 禁用Webview的外部站点链接

时间:2014-10-27 19:23:47

标签: objective-c macos cocoa webview

我正在努力查看WebView中的本地html页面,如果用户点击页面中的任何按钮,我想禁用访问任何外部网站,<a href="www.google.com">

1 个答案:

答案 0 :(得分:2)

您想为视图设置policyDelegate。请参阅WebPolicyDelegate的文档。您要实现的具体方法是:

- (void)webView:(WebView *)webView decidePolicyForNavigationAction:(NSDictionary *)actionInformation 
                                   request:(NSURLRequest *)request
                                   frame:(WebFrame *)frame
                                   decisionListener:(id<WebPolicyDecisionListener>)listener

最简单的方法就是为所有事情调用[listener ignore]。这也将阻止任何后退/前进导航,重新加载或提交工作提交。如果您想要更多控制权,可以在调用actionInformation[listener ignore]之前查看[listener use]字典并检查类型。