如何获得网址我打一个UIWebView?(How to get url which I hit on

2019-10-21 08:09发布

 NSString *testString =[NSString stringWithFormat:@" <a href = \\\\ \"www.google.com\">Google</a>"];
[webView loadHTMLString:testString baseURL:nil];

我想要得到的URL,当我点击这个UIWebView的内容

-(BOOL) webView:(UIWebView *)inWeb shouldStartLoadWithRequest:(NSURLRequest *)inRequest navigationType:(UIWebViewNavigationType)inType {

if ( inType == UIWebViewNavigationTypeLinkClicked ) {
    [[UIApplication sharedApplication] openURL:inRequest.mainDocumentURL];
    return NO;
}

return YES;

}

委托方法。 当我点击网页流量谷歌超级链接它给

网址:applewebdata://

请帮我。

Answer 1:

你的问题不是很清楚,如果你想获得对网页视图或的WebView加载页面的URL的窃听网址,

  1. 如果你想获得的WebView加载页面的网址,你可以使用NSURLRequestObject,像

    NSString * url = [request URL];

  2. 如果你想获得点击的链接URL,你将不得不使用Java脚本

    NSString *url = [webView stringByEvaluatingJavaScriptFromString:@"window.location"];



Answer 2:

你可以不喜欢这种方式

-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
    if ([request.URL.absoluteString rangeOfString:@"www.google.com"].location!=NSNotFound)
    {
        [[UIApplication sharedApplication]openURL:request.URL];
        return NO;
    }
 return YES;
}


Answer 3:

对于斯威夫特:

每当你的网页加载,你可以利用这一点,我用它在这种情况下,一个标签:

webUrlLabel.text = webView.request.URL.absoluteString

对于Objective-C的:

NSString *currentPage = [NSString stringWithFormat:@"%@", webView.request.URL.absoluteString];

webUrlLabel是一个UILabel

webView是我的UIWebView



Answer 4:

你已经拥有的NSURLRequest对象。 从访问URL。

inRequest.URL

方法1:

NSString *currentURL = myWebView.request.URL.absoluteString;

方式二:

- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType {
//CAPTURE USER LINK-CLICK.
  NSURL *url = [request URL];
  yourTextBox.text =   [url absoluteString];


  return YES;   

}

请让我知道,如果它的工作原理。 谢谢



文章来源: How to get url which I hit on UIWebView?