You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Chrome浏览器Video脚本失效问题求助,附所用脚本代码

修复Chrome中视频脚本失效的问题

嘿,我来帮你搞定这个Chrome里视频脚本不工作的问题!

首先说下问题根源:你把<script>直接嵌套在<video>标签里的写法其实不符合HTML规范——<video>的合法子元素只有<source>、<track>这类媒体相关标签,Firefox对这种“违规”写法做了兼容,但Chrome的处理更严格,导致document.currentScript.parentElement无法正确获取到video元素,所以设置音量的代码没生效。

给你两个靠谱的修复方案:

方案1:把脚本移到video标签外(推荐)

给video加个ID,然后在外部脚本里通过ID获取元素,写法更规范,兼容性也更好:

<video autoplay loop id="targetVideo">
  <source src="lust.mp4#t=33" type="video/mp4" />
</video>

<script>
  // 确保DOM加载完成后执行,避免元素未初始化的问题
  document.addEventListener('DOMContentLoaded', () => {
    const video = document.getElementById('targetVideo');
    // 可选:监听视频元数据加载完成事件,确保设置音量时视频已就绪
    video.addEventListener('loadedmetadata', () => {
      video.volume = 0.8;
    });
    // 直接设置也可以,加事件监听会更稳妥
    video.volume = 0.8;
  });
</script>

方案2:兼容现有结构的临时修复

如果不想调整HTML结构,可以换一种方式获取video元素,避开document.currentScript的兼容性问题:

<video autoplay loop>
  <source src="lust.mp4#t=33" type="video/mp4" />
  <script>
    // 直接通过选择器获取页面中的video元素
    const video = document.querySelector('video');
    if (video) {
      video.volume = 0.8;
    }
  </script>
</video>

不过还是更推荐方案1,因为把脚本放在video内部始终是不标准的写法,未来浏览器可能都会不再兼容这类场景。

另外提个小提醒:Chrome对自动播放的限制比较严格,如果视频没有静音,可能会被浏览器阻止自动播放。如果遇到自动播放失效的情况,可以先把音量设为0,等用户和页面产生交互后再调整音量~

内容的提问来源于stack exchange,提问作者Zaar - CSGO And More

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 08:41:58