Ome*_*r H 5 javascript google-chrome google-chrome-devtools
我想在特定选项卡上执行控制台命令,并接收布尔回答,即该选项卡是否正在播放音频。(通常在标签标题附近用小扬声器图标表示)
能做到吗?
也许这样的事情可以解决您的问题:
!!Array.prototype.find.call(document.querySelectorAll('audio,video'),function(elem){return elem.duration > 0 && !elem.paused})
检测当前正在播放的音频和视频元素。跨浏览器工作。
您可以使用chrome.tabs API来检测Chrome标签页是否正在播放带有Chrome扩展程序的音频。API提供了一个布尔audible属性,如下所述:
该选项卡是否在过去的几秒钟内发出了声音(但是如果也将其静音,则可能不会听到)。等效于扬声器音频指示器是否正在显示。
来源: https ://developer.chrome.com/extensions/tabs
由于它是从当前页面的上下文中运行的,因此无法从控制台本身访问选项卡。在Chrome扩展程序的背景页面中,您可以访问所有标签,并可以使用上述API查询它们。您的扩展程序可以简单地提供一个面板,该面板显示所有打开的选项卡的列表以及一个标记,用于说明音频是否正在播放。
另外:如果您只想使用Chrome控制台在当前标签中快速静音HTML5音频/视频,则可以运行以下命令($$等效于document.querySelectorAll()):
$$('video', 'audio').forEach((element) => element.muted = true);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3629 次 |
| 最近记录: |