javascript - 如何使用 JS 选项卡 API 以编程方式静音活动浏览器选项卡?
问题描述
我正在尝试构建一个简单的用户脚本来自动静音与某个 URL 匹配的选项卡。我试图从简单的开始,如果它与 URL 匹配,只需将活动选项卡静音。这是我希望执行静音操作的代码:
browser.tabs.update({muted: true});
但是当我尝试运行它时,什么也没有发生。从tabs.update 文档中,我知道如果我正在使用活动选项卡,我不必指定选项卡 ID,但它也说这个函数返回一个 Promise,我不熟悉它如何影响事情. (我能找到的每个 Promise 示例都使用该.then
方法在 Promise 完成后调用特定操作,例如编写控制台输出。但之后我不需要发生任何事情,我只是希望它发生。)
谁能帮助弄清楚为什么这段代码不起作用?
(注意:我正在使用 Firemonkey 扩展在 Firefox 上运行用户脚本。)
解决方案
browser.tabs.update({静音: true});
以上 API 在浏览器范围内(用于浏览器和扩展),在用户脚本运行的范围内userScript
或范围内不可用。content
在用户脚本中,您需要使用 Web API。
这是一个您可以研究的想法....未经测试
document.querySelectorAll('audio, video').forEach(item => {
item.muted = true;
item.pause();
});
推荐阅读
- ios - 如何在 SwiftUI 中按条件将 .fullScreenCover() 添加到按钮?
- reactjs - React-select,当我之前的选择发生变化时,如何重置下一个选择的值?
- c# - 在 Asp.net 中的页面加载时触发 Unload 事件
- r - 如何根据来自另一个表(在 R 中)的模式匹配重命名列和行?
- javascript - 将 Javascript 变量传递给 Vue
- flutter - 错误:没有为类“BuildContext”定义方法“inheritFromWidgetOfExactType”
- python - TypeError:('关键字参数不理解:','init')在keras.model中
- python - 如何将图像传递给基本模板/所有模板 Django
- python - 在 Python 中创建一个包含多个迷你条形图的表
- makefile - 我遇到了制作文件的问题