关闭特定网站中的音频

时间:2017-11-15 05:09:53

标签: javascript audio

我尝试使用以下mutationObserver来观察所有audio标记以将其删除,以便完全关闭特定网站中的声音。我用Greasemonkey运行了脚本。

new MutationObserver(() => {
    document.querySelectorAll('audio').forEach(node=>node.remove())
}).observe(document, {subtree: true, childList: true});

这还不够,因为在audio之前加载了一些DOMContentLoaded标记。

我还能做些什么来删除这些音频标签(即在被mutationObserver捕获之前加载的那些)?

我虽然每1毫秒使用setInterval(),但在我看来这是我真正需要避免的事情,因为它会感觉到我的电脑内存并且卡住了浏览器。

让我强调一下:它只是我在任何网站上运行的脚本,因此在这个问题中没有HTML或CSS显示。

1 个答案:

答案 0 :(得分:1)

并非所有音频都使用<audio>标签完成。音频可以来自未附加到DOM的媒体元素。它也可以使用Web Audio API生成,甚至可以与MediaDevice API结合使用。音频也可以通过插件生成。

您需要编写一个浏览器扩展程序,并将该API用于您要扩展的特定浏览器以使该选项卡静音。