有没有办法使用HTML5<video>标签全屏播放视频?

如果这是不可能的,有没有人知道这一决定是有原因的?

推荐答案

2020 answer

HTML5没有提供制作视频全屏的方法,而是提供了并行的Fullscreen APIdefines an API for elements to display themselves fullscreen.

这可以应用于任何元素,包括视频.

Browser support已经不错了,但是Internet Explorer和Safari需要前缀版本.

当堆栈片段Sandbox 规则打破它时,会提供一个external demo.

<div id="one">
    One
</div>

<div id="two">
    Two
</div>

<button>one</button>
<button>two</button>

div {
    width: 200px;
    height: 200px;
}
#one { background: yellow; }
#two { background: pink; }

addEventListener("click", event => {
    const btn = event.target;
    if (btn.tagName.toLowerCase() !== "button") return;
    const id = btn.textContent;
    const div = document.getElementById(id);
    if (div.requestFullscreen) 
        div.requestFullscreen();
    else if (div.webkitRequestFullscreen) 
        div.webkitRequestFullscreen();
    else if (div.msRequestFullScreen) 
      div.msRequestFullScreen();
});

2012 answer

HTML5没有提供使视频全屏显示的方法,但parallel Fullscreen specification提供了requestFullScreen方法,该方法允许使任意元素(包括<video>个元素)全屏显示.

它有experimental support in a number of browsers个.


2009 answer

Note: this has since been removed from the specification.

HTML5 spec( compose 本文时:09年6月):

用户代理不应提供 播放视频的公共接口 全屏显示.脚本,与 精心制作的视频文件,可以 欺骗用户,使其认为 显示了系统模式对话框, 并提示用户输入密码. 还有"仅仅"的危险. 烦人,页面启动 当链接被 已单击或已导航页面.相反, 特定于用户代理的界面功能 可以被提供来容易地允许 用户可获得全屏播放 模式.

浏览器可以提供用户界面,但不应该提供可编程的界面.

Html相关问答推荐

悬停时放大人物:不要增加其周围边界的大小

HTML CSS如何使用图像作为中心点将元素置于中心

角|将动态html属性添加到子组件

使用Scrapy Select 最后一个子文本

在Apps Script中连接CSS与HTML

应用于文本而不是弹性容器的Flexbox属性

禁用与行分开的边框折叠span

获得一个css框,以便在页面太小时不再粘在页面的角落.

窗口视图之外的下拉菜单位置

Tailwind CSS:overflow-y Property Not Scrolling Unreliably to Bottom with top-[63px]

未在抖动中播放的HTML音频||文本正在工作其他标记正在播放,但音频未播放

如何将功能附加到嵌入式药剂中的按钮?

将精选选项的价格合并为一个价格HTML、PHP和JQuery

Chrome浏览器错误:上的主题验证判断https://pagead2.googlesyndication.com/失败

将文本保持在平行四边形内并遵循形状

如何防止弹性项目溢出容器?

为什么 html 元素的 max-width 和 width 一起工作?

按钮位于主 div 的底部而不是内部 Div

两个span,一个在div居中,好像没有另一个,另一个在右边

如何使用 :hover zoom 重叠图像?