2014-10-09 17 views
0

我想在我的應用程序中的網頁視圖中加載一個URL。如果用戶點擊該網頁上的任何網址,我想在默認的Safari瀏覽器應用程序中打開點擊的網址,即不在我的應用程序中。 我知道shouldStartLoadWithRequest:但它會在新URL開始加載時得到調用,即使它正在我的網頁中加載圖像。識別iOS網頁中的鏈接點擊

如何識別用戶在我的網頁上點擊了網址?

+0

什麼樣的圖像加載?我的意思是特定的URL,這樣你可以測試最後一個URL組件,如果它有一個像JPG/PNG結尾的文件? – TMob 2014-10-09 11:18:25

回答

2

您可以檢查navigationType參數webView:shouldStartLoadWithRequest:navigationType:

- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType { 
    switch (navigationType) { 
    case UIWebViewNavigationTypeLinkClicked: 
     // user clicked on link 
    break; 
    case UIWebViewNavigationTypeOther: 
     // request was caused by an image that's being loaded 
    break; 
    } 
    return YES; 
} 

有,你可以用它來確定是什麼導致請求更多UIWebViewNavigationTypes:

enum { 
    UIWebViewNavigationTypeLinkClicked, 
    UIWebViewNavigationTypeFormSubmitted, 
    UIWebViewNavigationTypeBackForward, 
    UIWebViewNavigationTypeReload, 
    UIWebViewNavigationTypeFormResubmitted, 
    UIWebViewNavigationTypeOther 
}; 
typedef NSUInteger UIWebViewNavigationType; 
+0

謝謝joern!這非常有幫助。 :) – iAsh 2014-10-09 11:46:27