Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用JS tabs API以编程方式禁用活动浏览器选项卡?_Javascript_Tabs_Firefox Addon_Userscripts - Fatal编程技术网

Javascript 如何使用JS tabs API以编程方式禁用活动浏览器选项卡?

Javascript 如何使用JS tabs API以编程方式禁用活动浏览器选项卡?,javascript,tabs,firefox-addon,userscripts,Javascript,Tabs,Firefox Addon,Userscripts,我正在尝试构建一个简单的用户脚本来自动禁用与特定URL匹配的选项卡。我试着从简单开始,只要将活动选项卡静音(如果它与URL匹配)。下面是我希望执行静音操作的代码: browser.tabs.update({muted:true}) 但当我试着运行它时,什么也没发生。从中我知道,如果我使用活动选项卡,我不必指定选项卡ID,但它也表示此函数返回一个承诺,我不知道这会如何影响事情。(我能找到的每个承诺示例都使用。然后方法在承诺完成后调用特定操作,例如编写控制台输出。但我不需要在承诺完成后发生任何事情,

我正在尝试构建一个简单的用户脚本来自动禁用与特定URL匹配的选项卡。我试着从简单开始,只要将活动选项卡静音(如果它与URL匹配)。下面是我希望执行静音操作的代码:

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();
});