我正在加载一些包含一些视频的网站。我正在使用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等。但它不适用于某些网站。示例:
TheGlobe& Mail - http://www.theglobeandmail.com/news/news-video/
BBC - http://www.bbc.com/news/video_and_audio这个问题有解决方法吗?
答案 0 :(得分:1)
iOS 9.0 WKWebView中有一个属性叫做 requiresUserActionForMediaPlayback 如果将此值设置为true,则应关闭自动播放
如果您正在使用< iOS 9.0,设置属性 mediaPlaybackRequiresUserAction 为true关闭自动播放。
我还没在你提到的网站上试试这个。我做完后会更新我的答案
答案 1 :(得分:0)
我知道这个问题是很久以前问过的,但是由于没有答案,我将为寻求该方法的其他所有人回答这个问题:
这是我的代码:
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) {
}];