iOS開發(fā)-WKWebView禁用HTML5的video標(biāo)簽?zāi)J(rèn)全屏播放

問題描述:

在Android中,視頻可以正常在H5頁面局部播放。
iOS中則自動切換至全屏模式,需要禁止視頻自動全屏播放。

解決方法:

H5端:

iOS10以上H5視頻不自動全屏播放識別 playsinline這個屬性
iOS10以下H5視頻不自動全屏播放識別 webkit-playsinline這個屬性

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

注意::在客戶端設(shè)置了相關(guān)屬性之后,網(wǎng)頁就可以通過
playsinline='true' webkit-playsinline='true'來控制視頻在網(wǎng)頁內(nèi)播放
playsinline='false' webkit-playsinline='false'來控制視頻全屏播放

iOS 端實現(xiàn)代碼:

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];

注意::這里需要將屬性設(shè)置在初始化的WKWebViewConfiguration對象上,因為_webview. configuration為原始對象拷貝的原因,所以通過以下方式設(shè)置相應(yīng)屬性并不會生效:

_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. http://www.itdecent.cn/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. http://www.itdecent.cn/p/f313bd152b74
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容