2

YouTube 動画が UIWebViews に読み込まれる方法が変更されていることに気付き始めました。これが将来予想される動作であるかどうか、および/または以前の機能を複製できるかどうかを知りたいと思いました。

比較スクリーンショット: WebView にロードされた Youtube ビデオ

右が古い、左が新しい。追加された youtube ボタンにより、ユーザーは youtube ビデオを離れて youtube Web インターフェイスに入ることができます。ユーザーが再生中のビデオを離れないようにしたいと思います。

私は現在、次のような 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 の再設計が展開されると、これは変更されますか?

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 に答える