【问题标题】:WKWebView video pausing not working for all the websitesWKWebView 视频暂停不适用于所有网站
【发布时间】:2015-07-17 10:40:03
【问题描述】:

我正在加载一些包含一些视频的网站。我正在使用 WKWebView 加载这些视频。我需要在加载页面时停止视频自动播放,所以我添加了以下 java 脚本代码来暂停视频。

NSString *script = @"var videos = document.querySelectorAll(\"video\"); for (var i = videos.length - 1; i >= 0; i--) { videos[i].pause(); };";
    [webView evaluateJavaScript:script completionHandler:^(id result, NSError *error) {
        NSLog(@"Error : %@",error.localizedDescription);
        NSLog(@"Java script result = %@",result);
}];

我可以在我列出的大多数网站(如 CNN、Youtube 等)中暂停视频。但它不适用于某些网站。示例:

环球邮报 - http://www.theglobeandmail.com/news/news-video/

BBC - http://www.bbc.com/news/video_and_audio

这个问题有解决办法吗?

【问题讨论】:

    标签: javascript ios objective-c video html5-video


    【解决方案1】:

    iOS 9.0 WKWebView 中有一个属性叫做 requiresUserActionForMediaPlayback 如果将此设置为 true,则应关闭自动播放

    如果您使用的是

    我还没有在你提到的网站上尝试过。一旦我这样做会更新我的答案

    【讨论】:

      【解决方案2】:

      我知道这个问题很久以前就被问过了,但由于没有答案,我将为所有寻求该方法的人回答这个问题:

      这是我的代码:

      NSString *script = @"var videos = document.getElementsByTagName(\"video\");  for (var i = 0; i < videos.length; i++) { videos.item(i).pause(); };";
      [self.webView evaluateJavaScript:script completionHandler:^(id result, NSError *error) {
      
      }];
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-09-03
        • 2013-12-12
        • 2013-03-17
        • 1970-01-01
        • 1970-01-01
        • 2013-11-27
        • 1970-01-01
        • 2022-10-20
        相关资源
        最近更新 更多