ios WKWebView视频暂停不适用于所有网站

9ceoxa92  于 2023-08-08  发布在  iOS
关注(0)|答案(3)|浏览(200)

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

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/
英国广播公司-http://www.bbc.com/news/video_and_audio
这个问题有什么解决办法吗?

z2acfund

z2acfund1#

在iOS9.0WKWebView中有一个名为requiresUserActionForMediaPlayback的属性如果将此设置为true,则应关闭自动播放
如果您使用的是< iOS 9.0,请将mediaPlaybackRequiresUserAction属性设置为true以关闭自动播放。
我还没有在你提到的网站上尝试过。我会更新我的答案一旦我做了

wnvonmuf

wnvonmuf2#

我知道这个问题很久以前就被问到了,但由于没有答案,我将为其他正在寻求这种方法的人回答这个问题:
下面是我的代码:

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) {

}];

字符串

iqjalb3h

iqjalb3h3#

**斯威夫特 *

webview.evaluateJavaScript("var videos = document.getElementsByTagName(\"video\");  for (var i = 0; i < videos.length; i++) { videos.item(i).pause(); };")

字符串
基于https://stackoverflow.com/users/2640210/the-mach-system答案

相关问题