我开始注意到youtube视频加载到UIWebViews的方式发生了变化,我想知道这是否是我们未来应该期待的行为和/或我们是否可以复制以前的功能。
比较截图:
右边是旧的,左边是新的。添加的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];
}
我注意到我的查询将同时关注modestbranding = 1或showinfo = 0,但不能同时关注两者。当youtube重新设计推出时,这会改变吗?
答案 0 :(得分: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;
}
}