【问题标题】:Youtube in UiWebViewUiWebView 中的 Youtube
【发布时间】:2014-02-06 01:43:32
【问题描述】:

我正在获取 youtube 视频的 URL:

NSString *currentYouTubeVid = [youTubeWebView stringByEvaluatingJavaScriptFromString:@"function getURL() {var player = document.getElementById('player'); var video = player.getElementsByTagName('video')[0]; return video.getAttribute('src');} getURL();"];

这给我这个地址:

http://r5---sn-uxanug5-coxe.googlevideo.com/videoplayback?sparams=id%2Cip%2Cipbits%2Citag%2Cratebypass%2Csource%2Cupn%2Cexpire&fexp=907050%2C930813%2C916807%2C916611%2C936910%2C936913%2C907231%2C921090&app=youtube_mobile&source=youtube&key=yt5&itag=18&upn=Z8Hh3zpeVwM&ms=au&signature=1E59024805944173684C36996EDB75B8523ADF74.D1BD60DB4276262A08B00FB3A6CF3CFD56B95754&ratebypass=yes&ipbits=0&expire=1389929407&dnc=1&id=7ee5d672b87516cc&mt=1389909046&sver=3&yms=iPABvX0BA-A&mv=m&el=watch&ip=124.191.169.135&cpn=k3p_cmT1D3NyIEk

有没有办法缩短这个地址并得到类似的东西:

http://www.youtube.com/watch?v=fuXWcrh1Fsw

如果你能帮忙,谢谢。

【问题讨论】:

    标签: ios objective-c uiwebview youtube


    【解决方案1】:

    加载 UIWebView 内容后,您可以通过以下方式查看/获取其 URL:

    NSLog(@"WEB VIEW URL: %@", youTubeWebView.request.URL.absoluteString);
    

    我在控制台得到的结果是:

    2014-01-16 17:37:07.014 WebViewer[77010:70b] WEB VIEW URL: http://m.youtube.com/watch?v=IKi0C22S5qo
    

    您在调用时看到较长的扩展字符串的原因是,在加载原始页面后,该站点实际上触发了更多 URL 加载。我在- (void)webViewDidFinishLoad:(UIWebView *)webView 方法中测试了上面的代码。每当加载新 URL 时,该方法会在同一页面上多次调用,尽管您仍在同一页面上。

    不管它被多次调用,youTubeWebView.request.URL.absoluteString 保持不变。

    【讨论】:

      猜你喜欢
      • 2011-11-24
      • 1970-01-01
      • 2012-01-20
      • 2016-04-13
      • 2023-03-17
      • 2015-01-08
      • 1970-01-01
      • 2012-11-08
      • 1970-01-01
      相关资源
      最近更新 更多