2014-01-16 87 views
0

,我發現了YouTube視頻的網址與此:YouTube上的UIWebView

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

謝謝,如果你能幫助。

回答

1

的UIWebView的內容加載完畢後,您可以查看/獲得它的網址:

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保持不變。

+0

我試過你的代碼,它工作得很好。 –