2012-07-20 83 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