我在UIWebvView中使用此javascript来获取YouTube视频的网址。
getURL = [self.webView stringByEvaluatingJavaScriptFromString:@"function getURL() {
var player = document.getElementById('player');
var video = player.getElementsByTagName('video')[0];
return video.getAttribute('src');
}
getURL();"
];
它适用于iPhone,但在ipad上失败并返回@“”。两台设备都加载了m.youtube.com网站。有人能帮助我吗?
答案 0 :(得分:0)
iPad和iPhone有不同的HTTP标头信息,特别是用户代理字符串。 YouTube可能会根据用户使用的设备发送不同的javascript。
您可以尝试覆盖请求中的“用户代理”HTTP标头。我认为这个Stack Overflow答案可能适用于此:Change user agent on UIWebView
如果没有,您可以尝试使用一组第三方类(如AISHTTPRequest)欺骗用户代理信息,以便从iPad访问youtube网址,同时让YouTube认为它是iPhone。