我让 NGINX 作为反向代理运行,并将 Feature-Policy 标头设置为“self”,并将全屏设置为“self”。网站本身包含 HTML5 视频播放器,但除非我将全屏设置为“*”,否则视频播放器上的全屏按钮将被禁用。当设置为“self”(或 origin)时,什么原因会导致它被禁用?
这是功能策略(到目前为止,因为我注意到还有一些我可以添加):
add_header Feature-Policy "
accelerometer none;
ambient-light-sensor none;
autoplay self;
camera none;
document-write none;
encrypted-media self;
fullscreen self;
geolocation none;
gyroscope none;
layout-animations self;
lazyload self;
legacy-image-formats self;
magnetometer none;
microphone none;
midi none;
notifications none;
oversized-images self;
payment none;
picture-in-picture self;
push none;
speaker self;
sync-script none;
sync-xhr none;
unoptimized-images self;
unsized-media self;
usb none;
vertical-scroll self;
vibrate none;
vr none;";
以下是视频播放器的示例:
<video playsinline controls autoplay preload="auto">
<source src="/stream/364a42a508d89886d277f779dafb51b7" type="video/mp4">
</video>
没有添加任何 JavaScript 或任何东西。
更新:
视频 URL 是流,而不是实际的视频文件,但仍在本地提供。其他无法使用的功能:画中画和单击暂停/播放(仅使用实际按钮)。