如何启用在Mac OS X Web视图中单击链接?

我有以下代码,但我不知道要为策略委托实现什么方法...

@synthesize myWebView = _myWebView;

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification


    /* webview setup here, everything works fine
    except cannot click links in webview..... */


    //setup my delegate
    _myWebView.policyDelegate = self;

}
//Now what?....


谢谢。

最佳答案

WebView对链接没有限制。

但是,如果在单击Web视图中的链接时需要自定义行为,则应在策略委托中实现“ webView:decidePolicyForNavigationAction:request:frame:decisionListener:”。然后,您可以从动作信息字典中获取动作类型,并且如果它是单击链接的事件,则可以执行自定义行为。

例:

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

{

    NSUInteger actionType = [[actionInformation objectForKey:WebActionNavigationTypeKey] unsignedIntValue];
    if (actionType == WebNavigationTypeLinkClicked) {
        //Do your stuff
    } else {
        [listener use];
    }

}

10-08 13:33
查看更多