如何启用在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];
}
}