我想在我的应用程序中的网页视图中加载一个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