Webview/Webkit未按预期工作



这是我第一次在这里发帖。所以请耐心等待。我正在使用Webkit在网络视图中显示YouTube上的一些内容。

背景

  • 操作系统:操作系统X 10.10.2
  • SDK:OS X 10.10

问题

正如我之前所说的,我正在使用WebView来显示YouTube上的内容。但是,我遇到了一些问题,我在下面概述了这些问题

当尝试使用YouTube的全屏操作时,会发生以下情况:

测试一(使用Flash):

观察

  • 我做错了什么:当我在YouTube网站上使用Flash播放器时,当我试图播放视频时,一切都很好。此外,当我点击YouTube视频的全屏按钮时,窗口确实出现在全屏中。然而,它并不是完全全屏的(菜单栏仍然可见)

  • 我所期望的:我期望视频会完全进入全屏。在Safari中,一切都很正常。

测试二(使用HTML5):

观察

  • 我所做的:当我在YouTube网站上使用HTML5播放器时,当我试图播放视频时,一切都很好。然而,当我点击YouTube视频的全屏按钮时,什么也没发生。

  • 我所期望的:我期望视频会进入全屏。我确实注意到,在Safari中做这件事时,一切都如预期。

有人能帮我处理这件事吗?我到处找都找不到。

以下是我为说明这个问题所做的测试应用程序的示例:

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
    // Insert code here to initialize your application
    NSURL *url = [NSURL URLWithString:@"https://www.youtube.com"];
    NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url];
    [[[self webView] mainFrame] loadRequest:urlRequest];
    [self.window setContentView:self.webView];
    //When YES WebView will use Flash if available, else will use HTML5
    BOOL shouldUsePlugin = YES;
    if (shouldUsePlugin == YES) {
        [[[self webView] preferences] setPlugInsEnabled:YES];
        //Test 1: Using Flash
    } else {
        [[[self webView]preferences]setPlugInsEnabled:NO];
        //Test 2: Using HTML5
    }
}

对于使用较新WebKit API(WKWebView)的用户,请参阅此处的答案:WKWebView Mac Browser Enable fullscreen html5?用于在HTML5内容上启用全屏

只需使用他们的youtube播放器框架。他们有这样的吊舱。

pod"YouTubePlayer"

你只需要加载,播放,停止,清除。并且您的工作已完成

最新更新