【问题标题】:Webview/Webkit not working as expectedWebview/Webkit 未按预期工作
【发布时间】:2015-05-27 04:32:27
【问题描述】:

这是我第一次在这里发帖。所以请多多包涵。我正在使用 Webkit 在 web 视图中显示来自 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

    }
}

【问题讨论】:

标签: objective-c cocoa webview youtube webkit


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    只需使用他们的 youtube 播放器框架。他们为此准备了豆荚。

    pod 'YouTubePlayer'

    你只需要加载、播放、停止、清除。你的工作就完成了

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-06-04
      • 2022-01-24
      • 2015-05-11
      • 2020-05-15
      • 2014-10-31
      • 2018-02-12
      • 2014-01-20
      • 2015-01-13
      相关资源
      最近更新 更多