2012-07-20 71 views
3

如何在我的mac osx webview中启用点击链接?启用点击webview中的链接

我有下面的代码,但我不知道有什么方法来实现的政策代表...

@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?.... 

感谢。

回答

-2

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]; 
    } 

} 
+0

我的应用程序打开一个Gmail窗口。它不会让我点击我电子邮件中的链接。看起来它确实适用于其他网页。我需要弄清楚如何在gmail中启用链接。 – joe 2012-07-20 23:47:54

+0

检查你的控制台是否有javascript错误。这可能是Google的最终问题。 – Samir 2012-07-23 08:30:36

+0

您还需要添加委托方法decidePolicyForNewWindowAction – malhal 2013-07-01 20:07:35