gpt4 book ai didi

javascript - 打开和关闭 Chrome 扩展

转载 作者:行者123 更新时间:2023-11-28 20:10:18 38 4
gpt4 key购买 nike

我正在开发一个 Chrome 扩展程序,该扩展程序在浏览器操作中有 2 个图标(打开和关闭);基本上当它在后台执行 script.js (注入(inject)文件:script.js)使用 chrome.tabs.executeScript(tab.id,{file:"script.js",function(){});

我在关闭它时遇到问题!我尝试在background.js和script.js之间使用消息通信,但这也不起作用。

最佳答案

如果我理解正确的话,您的扩展程序应该有两种状态:打开和关闭。单击扩展图标可打开/关闭它。

在这种情况下,您应该使用存储,以便扩展程序知道它处于什么状态。因此,在点击事件中,使用如下内容:

  chrome.browserAction.onClicked.addListener(function(tab) {
chrome.storage.sync.get('state', function(data) {
if (data.state === 'on') {
chrome.storage.sync.set({state: 'off'});
//do something, removing the script or whatever
} else {
chrome.storage.sync.set({state: 'on'});
//inject your script
}
});
});

请注意,这发生在扩展程序/浏览器级别,并将应用于所有选项卡,因此您可能需要更复杂的东西来记录选项卡 ID 和状态。

然后,您可以选择始终运行内容脚本并在执行某些操作之前检查开/关状态,或者注入(inject)并删除脚本。我不确定你是否删除了脚本。根据脚本的作用,您可能只想刷新页面(即,如果您的脚本与 DOM 发生冲突,并且您希望在关闭扩展时撤消该操作)。

关于javascript - 打开和关闭 Chrome 扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20010623/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com