停止来自父级的iframe中的所有音频

时间:2017-05-02 18:50:06

标签: javascript jquery html audio iframe

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

是否可以在索引中设置一个将停止所有音频的功能?当我想在当前播放音频之前“跳转”到另一个iframe时,我遇到了音频踩到彼此的问题。我知道如何从iframe访问父索引文件,但是如何从索引中定位所有iframe并停止音频标记?我无休止地搜索,但没有找到解决方案。

这是我试图开始工作的函数,但它似乎只捕获索引中的音频标记,而不是iframe中的音频标记。

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

非常感谢任何指导。我仍然很擅长处理音频,所以我正在努力。

1 个答案:

答案 0 :(得分:2)

这样的事情应该这样做 它应该迭代所有帧以找到音频 试试吧。

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();
  }
}