美文网首页
iOS开发-WKWebView禁用HTML5的video标签默认

iOS开发-WKWebView禁用HTML5的video标签默认

作者: ruizuo007 | 来源:发表于2020-08-24 21:48 被阅读0次

问题描述:

在Android中,视频可以正常在H5页面局部播放。
iOS中则自动切换至全屏模式,需要禁止视频自动全屏播放。

解决方法:

H5端:

iOS10以上H5视频不自动全屏播放识别 playsinline这个属性
iOS10以下H5视频不自动全屏播放识别 webkit-playsinline这个属性

x5-video-player-type='h5' x5-video-player-fullscreen='true' playsinline webkit-playsinline

注意::在客户端设置了相关属性之后,网页就可以通过
playsinline='true' webkit-playsinline='true'来控制视频在网页内播放
playsinline='false' webkit-playsinline='false'来控制视频全屏播放

iOS 端实现代码:

UIWebView

webView.allowsInlineMediaPlayback = YES;

WKWebView

WKWebViewConfiguration *configuration = [[WKWebViewConfiguration alloc] init];
configuration.allowsInlineMediaPlayback = YES;
_webview = [[WKWebView alloc] initWithFrame:CGRectMake(0, 0, ScreenWidth, ScreenHeight - 88) configuration:configuration];

注意::这里需要将属性设置在初始化的WKWebViewConfiguration对象上,因为_webview. configuration为原始对象拷贝的原因,所以通过以下方式设置相应属性并不会生效:

_webview.configuration.allowsInlineMediaPlayback = YES;

/*! @abstract A Boolean value indicating whether HTML5 videos play inline
(YES) or use the native full-screen controller (NO).
@discussion The default value is NO.
*/
@property (nonatomic) BOOL allowsInlineMediaPlayback;

参考:

  1. https://www.jianshu.com/p/69ab92267343
  2. https://blog.csdn.net/qq_40190624/article/details/100524387
  3. https://developer.apple.com/documentation/webkit/wkwebviewconfiguration/1614793-allowsinlinemediaplayback
  4. https://stackoverflow.com/questions/6039909/html5-full-screen-video
  5. https://www.jianshu.com/p/f313bd152b74

相关文章

网友评论

      本文标题:iOS开发-WKWebView禁用HTML5的video标签默认

      本文链接:https://www.haomeiwen.com/subject/pjhojktx.html