Javascript在iPhone上工作但在iPad上没有

时间:2011-12-27 00:26:00

标签: javascript iphone objective-c ipad uiwebview

我在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网站。有人能帮助我吗?

1 个答案:

答案 0 :(得分:0)

iPad和iPhone有不同的HTTP标头信息,特别是用户代理字符串。 YouTube可能会根据用户使用的设备发送不同的javascript。

您可以尝试覆盖请求中的“用户代理”HTTP标头。我认为这个Stack Overflow答案可能适用于此:Change user agent on UIWebView

如果没有,您可以尝试使用一组第三方类(如AISHTTPRequest)欺骗用户代理信息,以便从iPad访问youtube网址,同时让YouTube认为它是iPhone。