videoJS 的视频区域仅在 iPhone 上被字幕面板遮挡

问题描述 投票:0回答:1

我使用 videoJS 开发了一个自定义网络视频播放器。我遇到的问题是 iPhone 独有的问题,Android 智能手机或 PC 上不会出现此问题。问题如下:

当前问题:

  1. 在 iPhone 上以默认竖屏模式播放视频时,字幕控制面板会被视频区域遮挡(不仅是字幕控制面板,还有其他自定义组件都隐藏在视频区域后面;但是,这些事件的事件被遮挡的组件仍然起作用)。

  2. 当 iPhone 旋转到横向模式时,字幕面板会正确显示在视频上方。

  3. 字幕面板的事件即使隐藏在视频后面也能继续正常工作。

  4. 尝试使用 z-index 解决该问题未成功。

我使用的是最新版本的videoJS,即videoJS 8.3.0。 任何解决此问题的见解或解决方案将不胜感激。

javascript ios iphone video video.js
1个回答
0
投票

在使用 videoJS 时,您遇到的字幕控制面板被 iPhone 上纵向模式下的视频区域遮挡的问题可能与所涉及元素的堆叠上下文和 z 索引有关。以下是一些有助于解决问题的建议:

检查 z-index 值:确保字幕控制面板和其他自定义组件的 z-index 值高于视频元素。您可以使用 CSS 显式设置这些元素的 z-index,以确保它们出现在视频上方。例如: CSS

.subtitle-control-panel {
  z-index: 9999; /* or any higher value */
}

.custom-component {
  z-index: 9999; /* or any higher value */
}

使用position:relative或position:absolute:将position:relative或position:absolute应用于字幕控制面板和其他自定义组件。有时,默认位置:静态可能会导致堆叠顺序出现问题。尝试不同的定位选项,看看是否有助于解决问题。

调整堆叠上下文:具有较高堆叠上下文的元素将出现在具有较低堆叠上下文的元素之上。如果视频元素的堆叠上下文高于字幕控制面板,则可能会导致问题。您可以尝试通过将position:relative 或position:absolute 以及较高的z-index 值应用于字幕控制面板的父元素来调整视频和字幕控制面板元素的堆叠上下文。

检查是否有溢出或剪切的任何父元素:如果字幕控制面板或视频的任何父元素有溢出:隐藏或正在应用任何其他剪切行为,则可能会影响字幕面板的可见性。确保父元素没有任何可能隐藏字幕控制面板的意外剪切或溢出设置。

使用最新版本的 videoJS 进行测试:虽然您提到您正在使用 videoJS 8.3.0,但值得检查是否有任何更新的版本可用。升级到最新版本的 videoJS 可能包括可能解决问题的错误修复或改进。

考虑替代方法:如果问题仍然存在,您可以考虑使用替代方法来显示字幕控制面板。例如,您可以尝试将字幕控制面板定位在视频区域之外,使用绝对定位将其覆盖在视频元素的顶部。这样,它就不会受到视频元素的 z-index 或堆叠上下文的影响。

在不同 iOS 版本上进行测试:该问题可能特定于某些 iOS 版本或 Safari 浏览器版本。在不同的 iOS 版本和 Safari 浏览器版本上测试您的自定义网络视频播放器,看看问题是否仍然存在或者是否特定于特定环境。

如果这些建议都不能解决问题,则提供其他详细信息可能会有所帮助,例如与视频播放器和字幕控制面板相关的 HTML 和 CSS 代码,或者您遇到的任何特定错误消息或警告。此信息可以帮助进一步确定问题的原因。

© www.soinside.com 2019 - 2024. All rights reserved.