点击链接在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并得到了唯一的链接..
如果你有更好的主意,请在下面分享!
- IOS 11.1 SecurityError(DOM例外18):阻止尝试使用history.replaceState()更改会话历史记录URL
- 在ios中传递客观的cvariables给javascript
- Swift中的ES8风格异步编程指南
- 在Cordova / Ionic iOS应用程序中使用WWW-Authenticate处理HTTP 401
- 在iOS中出现键盘之前,在“焦点”开始/ Fire事件之前触发事件
- 在实际的设备上的iOS JSON麻烦
- 如何debuggingWKWebView中的JavaScript代码
- 如果ssl(https)证书无效,则React Native XMLHttpRequest请求将失败
- 如何在缩放时在IOS浏览器上定位固定位置元素?