Webview/Webkit无法按预期工作

Son*_*ohn 7 youtube cocoa webkit objective-c webview

这是我第一次在这里发帖.所以请耐心等待.我正在使用Webkit在Webview中显示来自YouTube的一些内容.

背景

  • 操作系统:OS 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

    }
}
Run Code Online (Sandbox Code Playgroud)

Son*_*ohn 1

对于那些使用较新的 WebKit API ( WKWebView) 的用户,请参阅我的答案:WKWebView Mac 浏览器启用全屏 html5?用于启用 HTML5 内容的全屏显示