点击链接在uiwebview上在ios上的m.youtube.com上导航

我在ios应用程序上使用uiwebview。 我上面有文本框,它导航uiwebview。 我输入m.youtube.com,webview完全加载它。 我在youtube.com上搜索了一下,结果很好。 当我点击任何video时,我会转到video页面,并且我希望该页面的url链接会显示有待观看的video。 m.youtube.com/watch?v=sa+2DFdfd . 。 但是怎么样?

搜索笔记:

当我在iphone 5上使用safari尝试这个时,我看到导航栏根据我所在的页面完全改变。在这个例子中我看到了; 关于safari的m.youtube.com/watch?v=34124S但我无法在uiwebview上发布它….我无法获得最新加载的网页链接。

ShouldLoadStart仅适用于首次加载的页面。 然后当你点击页面; 如果链接是链接的类型,则ShouldLoadStart捕获链接,但如果它是由javascript类型的链接组成,则被委托人不会捕获所单击的链接。 请帮助抓住m.youtube.com/watch?v=34124S,就像在youtube网页上的safari一样。

如果你想存储url,这将做:

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

要么

 currentURL = currentWebView.request.URL.absoluteString; 

尝试以上两个

 -(void)webViewDidFinishLoad:(UIWebView *)webView 

这也可以做到:

 -(void)webViewDidFinishLoad:(UIWebView *)webView { NSLog(@"%@",webView.request.mainDocumentURL); [_activityindicator stopAnimating]; } 

在您的webview委托类中实现此function

 - (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType { //CAPTURE USER LINK-CLICK. NSURL *url = [request URL]; NSLog(@"clicked url: %@",[url absoluteString]); return YES; } 

我通过使用中央通知获得了链接。 当video出现全视图时,我抓住了那个事件,我得到了加载的页面内部html并得到了唯一的链接..

如果你有更好的主意,请在下面分享!