2

我开始注意到 youtube 视频加载到 UIWebViews 的方式发生了变化,我想知道这是否是我们将来应该期待的行为和/或我们是否可以复制以前的功能。

对比截图: 加载到 webview 中的 Youtube 视频

右边旧,左边新。添加的 youtube 按钮允许用户离开 youtube 视频并进入 youtube 网络界面。我希望能够阻止用户离开正在播放的视频。

我目前在 UIWebView 上使用这样的类别:

- (void)loadYouTubeEmbed:(NSString *)videoId
{    
    NSString* searchQuery = [NSString stringWithFormat:@"http://www.youtube.com/embed/%@?showinfo=0&loop=1&modestbranding=1&controls=0",videoId];

    searchQuery = [searchQuery stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding];

    NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:searchQuery]];
    [self loadRequest:request];
}

我注意到我的查询将尊重moderatebranding=1 或showinfo=0 但不能同时尊重两者。随着 youtube 重新设计的推出,这种情况会发生变化吗?

4

1 回答 1

1

当 Youtube 视频被加载并被webView:shouldStartLoadWithRequest:navigationType:点击时,您应该能够过滤掉该链接,使其不会继续。

-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
    if ([[[request URL] absoluteString] isEqualToString:@"<URL String Youtube spits out when video selected>"]) {
        NSLog(@"Blocking YouTube...");
        return NO;
    } else {
        NSLog(@"Link is fine, continue...");
        return YES;
    }
}
于 2012-12-14T05:20:42.250 回答