我想在我的應用程序中的網頁視圖中加載一個URL。如果用戶點擊該網頁上的任何網址,我想在默認的Safari瀏覽器應用程序中打開點擊的網址,即不在我的應用程序中。 我知道shouldStartLoadWithRequest:但它會在新URL開始加載時得到調用,即使它正在我的網頁中加載圖像。識別iOS網頁中的鏈接點擊
如何識別用戶在我的網頁上點擊了網址?
我想在我的應用程序中的網頁視圖中加載一個URL。如果用戶點擊該網頁上的任何網址,我想在默認的Safari瀏覽器應用程序中打開點擊的網址,即不在我的應用程序中。 我知道shouldStartLoadWithRequest:但它會在新URL開始加載時得到調用,即使它正在我的網頁中加載圖像。識別iOS網頁中的鏈接點擊
如何識別用戶在我的網頁上點擊了網址?
您可以檢查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;
謝謝joern!這非常有幫助。 :) – iAsh 2014-10-09 11:46:27
什麼樣的圖像加載?我的意思是特定的URL,這樣你可以測試最後一個URL組件,如果它有一個像JPG/PNG結尾的文件? – TMob 2014-10-09 11:18:25