NSString *testString =[NSString stringWithFormat:@" <a href = \\\\ \"www.google.com\">Google</a>"];
[webView loadHTMLString:testString baseURL:nil];
我想在
中单击此UIWebView内容时获取URL-(BOOL) webView:(UIWebView *)inWeb shouldStartLoadWithRequest:(NSURLRequest *)inRequest navigationType:(UIWebViewNavigationType)inType {
if ( inType == UIWebViewNavigationTypeLinkClicked ) {
[[UIApplication sharedApplication] openURL:inRequest.mainDocumentURL];
return NO;
}
return YES;
}
委托方法。 当我点击webview中的google超链接时,它会给出
网址:applewebdata://
请帮帮我。
答案 0 :(得分:1)
如果您想在webview或webview的加载页面网址上获取点按的网址,那么您的问题就不是很清楚了,
如果你想获得webview加载页面网址,你可以使用NSURLRequestObject,比如
NSString * url = [request URL];
如果您想获取点击的链接网址,则必须使用此java脚本
NSString *url = [webView stringByEvaluatingJavaScriptFromString:@"window.location"];
答案 1 :(得分:1)
你可以这样做
-(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;
}
答案 2 :(得分:1)
对于Swift:
每当你的网页被加载时你就可以使用它,在这种情况下我用它作为标签:
webUrlLabel.text = webView.request.URL.absoluteString
对于Objective-C:
NSString *currentPage = [NSString stringWithFormat:@"%@", webView.request.URL.absoluteString];
webUrlLabel
是UILabel
webView
是我的UIWebView
答案 3 :(得分:0)
您已拥有NSURLRequest对象。从那里访问网址。
inRequest.URL
方式1:
NSString *currentURL = myWebView.request.URL.absoluteString;
方式2:
- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType {
//CAPTURE USER LINK-CLICK.
NSURL *url = [request URL];
yourTextBox.text = [url absoluteString];
return YES;
}
如果有效,请告诉我。感谢