Javascript适用于iPhone,但不适用于iPad

Javascript working on iPhone but not on iPad

本文关键字:适用于 不适用 iPad iPhone Javascript      更新时间:2023-09-26

我在UIWebvView中使用这个javascript来获取YouTube视频的URL。

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

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

你可以尝试在你的请求中覆盖"user agent" HTTP报头。我认为这个堆栈溢出的答案可能适用于:改变用户代理在UIWebView

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