【问题标题】:OSX - Disable External Site Linking for WebviewOSX - 禁用 Webview 的外部站点链接
【发布时间】:2014-12-23 02:06:17
【问题描述】:

我正在查看 WebView 中的本地 html 页面,如果用户单击页面中的任何按钮,即<a href="www.google.com">

,我想禁止访问任何外部网站

【问题讨论】:

    标签: objective-c macos cocoa webview


    【解决方案1】:

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

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

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

    【讨论】:

    • 我已经检查了NSString *url = actionInformation[@"WebActionElementKey"][@"WebElementLinkURL"]; 的网址,如果不是 nil 我打电话给[listener ignore]
    猜你喜欢
    • 2017-03-29
    • 1970-01-01
    • 1970-01-01
    • 2013-07-05
    • 2012-01-16
    • 2016-03-26
    • 2017-09-01
    • 1970-01-01
    • 2012-03-03
    相关资源
    最近更新 更多