javascript - 停止父级 iframe 内的所有音频

标签 javascript jquery html audio iframe

我有一个index.html,其中有几个iframe。当 index.html 启动时,我将不同的 html 页面加载到每个 iframe 中。每个 html 页面内都有多个音频标签。我使用 index.html 在 iframe 之间导航。

索引中是否可以有一个函数来停止所有音频?当我想在当前 iframe 播放完音频之前“跳转”到另一个 iframe 时,我遇到了音频相互叠加的问题。我知道如何从 iframe 访问父索引文件,但如何定位索引中的所有 iframe 并停止音频标签?我一直在寻找,但没有找到解决方案。

这是我试图实现的功能,但它似乎只捕获索引中的音频标签,而不是 iframe 内的音频标签。

function audioClear(){
    var sounds = window.document.getElementsByTagName('audio');
    for(i=0; i<sounds.length; i++) sounds[i].pause();
};

任何指导将不胜感激。我对音频处理还很陌生,所以我正在尽力而为。

最佳答案

类似这样的事情应该做。
它应该迭代所有帧来查找音频。
尝试一下。

var frames = window.frames;
for (var i = 0; i < frames.length; i++) { 
  var sounds = frames[i].document.getElementsByTagName('audio');
  for(j=0; j<sounds.length; j++){
    sounds[j].pause();
  }
}

关于javascript - 停止父级 iframe 内的所有音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43745161/

相关文章:

javascript - HTML:onload 非 body 元素

html - 在移动设备中隐藏水平滚动条

javascript - Google 表格日历

javascript - 用户离开字段后立即显示 AngularJS Bootstrap 工具提示以进行客户端验证

jquery - 为什么validationEngine()不工作?

jquery - 如何逐步转类

javascript - 保持可缩放图像的纵横比

html - 如何在禁用的单选按钮/复选框上更改丑陋的光标图像

javascript - 如何从javascript调用swift函数

JavaScript 重构