使用JS将可能来自html iframe的音频源静音
问题描述:
我正在使用iframe嵌入相当多的外部HTML页面的画廊页面,但是,这些外部页面中有一些嵌入了我想要静音的音频。使用JS将可能来自html iframe的音频源静音
下面是HTML文件的范例代码
gallery.html
<div id="pages">
<iframe id="embed" src="https://xyz.com/page1.html"></iframe>
<iframe id="embed" src="https://sdf.com/page2.html"></iframe>
</div>
page1.html
<html>
<head>
<!-- head stuff-->
</head>
<body>
<audio autoplay>
<source src="http://audio.url/somefile.ogg" type="audio/ogg">
<source src="http://audio.url/somefile.mp3" type="audio/mpeg">
Your browser does not support the audio tag.
</audio>
<!--some more body content>
<body>
</html>
而且,因为我处理多外部页面,音频标签大多可能没有附加到它们的ID。这使得document.getElementById()
成为不可靠的选择。我用document.getElementsByTagName("input")
进行了实验,但无法完全消除音频。任何人都可以帮助我吗?
答
由于这些页面是由不同的域提供的,因此您将无法访问iframe中的HTML,原因是相同的源策略。
我也试过:'document.getElementsByTagName(“audio”)。muted = true;'但这种方法似乎也失败了。 – Sayak 2013-05-10 09:29:36
为什么不在音频上设置控件,因为如果没有id,试图在香草JS的iframe的另一侧定位元素是很困难的。 – zer00ne 2016-05-15 18:04:36