Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在iOS中识别网页内的点击链接_Ios_Objective C_Uiwebview_Objective C++ - Fatal编程技术网

在iOS中识别网页内的点击链接

在iOS中识别网页内的点击链接,ios,objective-c,uiwebview,objective-c++,Ios,Objective C,Uiwebview,Objective C++,我想在我的应用程序中的web视图中加载一个URL。如果用户单击该网页上的任何URL,那么我希望打开默认safari应用程序中的单击URL,即从应用程序中打开。 我知道shouldStartLoadWithRequest:但每当新URL开始加载时,它就会被调用,即使它正在我的网页中加载图像 如何识别用户在我的网页上单击的URL?您可以在webView:shouldStartLoadWithRequest:navigationType:中检查navigationType参数 - (BOOL)webV

我想在我的应用程序中的web视图中加载一个URL。如果用户单击该网页上的任何URL,那么我希望打开默认safari应用程序中的单击URL,即从应用程序中打开。 我知道shouldStartLoadWithRequest:但每当新URL开始加载时,它就会被调用,即使它正在我的网页中加载图像


如何识别用户在我的网页上单击的URL?

您可以在
webView:shouldStartLoadWithRequest:navigationType:
中检查
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; 
}
您可以使用更多UIWebViewNavigationType来确定请求的原因:

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

加载了什么类型的图像?我的意思是URL是特定的,所以如果最后一个URL组件有一个类似JPG/PNG的文件结尾,您可以测试它?谢谢joern!!这很有帮助。:)