Javascript 如何使用JS tabs API以编程方式禁用活动浏览器选项卡?
我正在尝试构建一个简单的用户脚本来自动禁用与特定URL匹配的选项卡。我试着从简单开始,只要将活动选项卡静音(如果它与URL匹配)。下面是我希望执行静音操作的代码:Javascript 如何使用JS tabs API以编程方式禁用活动浏览器选项卡?,javascript,tabs,firefox-addon,userscripts,Javascript,Tabs,Firefox Addon,Userscripts,我正在尝试构建一个简单的用户脚本来自动禁用与特定URL匹配的选项卡。我试着从简单开始,只要将活动选项卡静音(如果它与URL匹配)。下面是我希望执行静音操作的代码: browser.tabs.update({muted:true}) 但当我试着运行它时,什么也没发生。从中我知道,如果我使用活动选项卡,我不必指定选项卡ID,但它也表示此函数返回一个承诺,我不知道这会如何影响事情。(我能找到的每个承诺示例都使用。然后方法在承诺完成后调用特定操作,例如编写控制台输出。但我不需要在承诺完成后发生任何事情,
browser.tabs.update({muted:true})代码>
但当我试着运行它时,什么也没发生。从中我知道,如果我使用活动选项卡,我不必指定选项卡ID,但它也表示此函数返回一个承诺,我不知道这会如何影响事情。(我能找到的每个承诺示例都使用。然后
方法在承诺完成后调用特定操作,例如编写控制台输出。但我不需要在承诺完成后发生任何事情,我只希望它发生。)
有人能帮我找出为什么这个代码不起作用吗
(注意:我正在Firefox上使用Firemonkey扩展运行用户脚本。)
browser.tabs.update({muted:true})
上述API位于浏览器范围内(用于浏览器和扩展),在运行用户脚本的userScript
或content
范围内不可用
在用户脚本中,您需要使用Web API
这里有一个你可以研究的想法。。。。未经测试
document.querySelectorAll('audio,video').forEach(item=>{
item.muted=true;
item.pause();
});