如何使用 JS 选项卡 API 以编程方式使活动浏览器选项卡静音?
How to mute active browser tab programatically with JS tabs API?
我正在尝试构建一个简单的用户脚本来自动静音匹配特定 URL 的选项卡。我试图从简单开始,如果活动选项卡与 URL 匹配,则将其静音。这是我希望执行静音操作的代码:
browser.tabs.update({muted: true});
但是当我尝试 运行 它时,没有任何反应。从 tabs.update documentation 我知道如果我正在使用活动选项卡我不必指定选项卡 ID,但它也说这个函数 returns 是一个 Promise,我不熟悉这对事情有何影响。 (我能找到的每个 Promise 示例都使用 .then
方法在 Promise 完成后调用特定操作,例如编写控制台输出。但我不需要任何事情发生 afterwards,我只想 发生 。)
谁能帮忙弄清楚为什么这段代码不起作用?
(注意:我在 Firefox 上使用 Firemonkey 扩展 运行ning 用户脚本。)
browser.tabs.update({muted: true});
以上 API 在浏览器范围内(对于浏览器和扩展程序)并且在 userScript
或 content
范围内不可用,其中用户脚本 运行.
在用户脚本中,您需要使用 Web API。
这是一个你可以研究的想法....未经测试
document.querySelectorAll('audio, video').forEach(item => {
item.muted = true;
item.pause();
});
我正在尝试构建一个简单的用户脚本来自动静音匹配特定 URL 的选项卡。我试图从简单开始,如果活动选项卡与 URL 匹配,则将其静音。这是我希望执行静音操作的代码:
browser.tabs.update({muted: true});
但是当我尝试 运行 它时,没有任何反应。从 tabs.update documentation 我知道如果我正在使用活动选项卡我不必指定选项卡 ID,但它也说这个函数 returns 是一个 Promise,我不熟悉这对事情有何影响。 (我能找到的每个 Promise 示例都使用 .then
方法在 Promise 完成后调用特定操作,例如编写控制台输出。但我不需要任何事情发生 afterwards,我只想 发生 。)
谁能帮忙弄清楚为什么这段代码不起作用?
(注意:我在 Firefox 上使用 Firemonkey 扩展 运行ning 用户脚本。)
browser.tabs.update({muted: true});
以上 API 在浏览器范围内(对于浏览器和扩展程序)并且在 userScript
或 content
范围内不可用,其中用户脚本 运行.
在用户脚本中,您需要使用 Web API。
这是一个你可以研究的想法....未经测试
document.querySelectorAll('audio, video').forEach(item => {
item.muted = true;
item.pause();
});