请问webview中h5的video组件如何实现全屏

web是否能支持HTML5 的 FullScreen api

HarmonyOS
2024-05-07 22:05:11
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
一意孤行的

1、当前在web里暂时不支持使用js或css来实现横屏,需要ArkUI的媒体查询接口实现横屏,可以在web的onFullScreenEnter和onFullScreenExit回调中监听是否点击全屏的按键,在这两个回调里使用媒体查询接口实现视频横向和竖向:

参考链接:

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/arkts-layout-development-media-query-0000001860295785

https://developer.huawei.com/consumer/cn/doc/harmonyos-references/ts-basic-components-web-0000001860247877#ZH-CN_TOPIC_0000001860247877__onfullscreenenter9

https://developer.huawei.com/consumer/cn/doc/harmonyos-references/ts-basic-components-web-0000001860247877#ZH-CN_TOPIC_0000001860247877__onfullscreenexit9

当网页视频横向后需要在H5中设置横向宽高来适配使页面全屏,媒体查询接口只是让手机横屏

2、ArkWeb基于chromium,支持FullScreen等w3c标准,参考代码如下:

<head> 
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no"> 
  </head> 
  <div id="container"> 
  <button onclick="fullScreen()">全屏</button> 
  <video controls id="myvideo"> 
  <source src="somevideo.webm"></source> 
  <source src="https://static.foodtalks.cn/video/post/1f9d800c9cbe3088a8c2407de1ff8baac09d.mp4"></source> 
  </video> 
  </div> 
 
  <script> 
 
  function fullScreen() { 
    var elem = document.getElementById("myvideo"); 
    if (elem.requestFullscreen) { 
      elem.requestFullscreen(); 
    } 
  } 
  </script> 
 
  <style> 
#myvideo { 
  width: 80%; 
  height: 50% 
} 
 
</style>
分享
微博
QQ
微信
回复
2024-05-08 15:59:48
相关问题
WebwebviewH5交互
1099浏览 • 1回复 待解决
HarmonyOS webview h5localstorage
417浏览 • 1回复 待解决
如何webview中使用H5alert
1564浏览 • 1回复 待解决
webview加载Vue h5失败
17814浏览 • 5回复 待解决
HarmonyOS webview 怎么和H5交互
58浏览 • 1回复 待解决
HarmonyOS web组件加载h5h5拉起摄像头
589浏览 • 1回复 待解决
H5图片在Web组件显示异常
265浏览 • 1回复 待解决
如何实现H5自定义事件
2364浏览 • 1回复 待解决
Web组件h5页面如何交互?
243浏览 • 1回复 待解决
HarmonyOS H5如何访问相册?
284浏览 • 1回复 待解决