【发布时间】:2017-05-02 18:50:06
【问题描述】:
我有一个 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();
};
任何指导将不胜感激。我对音频工作还很陌生,所以我正在尽力而为。
【问题讨论】:
-
在框架页面内运行该代码,或迭代
frames集合。您可以将该代码移动到框架页面的 onunload 事件中,以使其在框架导航离开时运行。 -
可以发一下html吗?
-
感谢@dandavis 的建议,我想循环浏览 iframe,但不知道如何定位它们。
-
@doutriforce 很抱歉我没有发布 html,但这是我公司的代码,由于版权问题,我无法发布。但基本上我只有一个包含几个 iframe 的索引,然后有导航代码“翻转”通过 iframe。但是当从一个到下一个时,我可以听到前一个“页面”的音频,因为 iframe 没有被卸载。因此,让这个函数循环播放和暂停所有音频效果很好。
-
@layerburn,没有汗水!很高兴您的问题得到解决。
标签: javascript jquery html audio iframe