Javascript 加载Chrome扩展后如何运行?

Javascript 加载Chrome扩展后如何运行?,javascript,jquery,html,google-chrome,google-chrome-extension,Javascript,Jquery,Html,Google Chrome,Google Chrome Extension,我有一个Chrome扩展,当点击时,它会打开一个侧菜单。到目前为止还可以,但我正试着把它绑在钥匙上。这很好,但只有在我至少单击一次按钮之后,因为这是从后台JS页面注入JS的时候 chrome.browserAction.onClicked.addListener(单击) 电话: var opened = []; function clicked(tab){ var currentTabId = tab.id; if(opened.indexOf(currentTabId) &l

我有一个Chrome扩展,当点击时,它会打开一个侧菜单。到目前为止还可以,但我正试着把它绑在钥匙上。这很好,但只有在我至少单击一次按钮之后,因为这是从后台JS页面注入JS的时候

chrome.browserAction.onClicked.addListener(单击)

电话:

var opened = [];

function clicked(tab){
    var currentTabId = tab.id;
    if(opened.indexOf(currentTabId) < 0){
        opened.push(currentTabId);

        chrome.tabs.executeScript({
            file: 'jquery.js'
        });
        chrome.tabs.insertCSS({
            file: 'admin.css'
        });
        chrome.tabs.executeScript({
            file: 'admin.js'
        });
    } else {
        chrome.tabs.executeScript({
            code: 'admin.toggle();'
        });
    }
}
var opened=[];
单击的函数(选项卡){
var currentTabId=tab.id;
if(opened.indexOf(currentTabId)<0){
打开.推送(currentTabId);
chrome.tabs.executeScript({
文件:“jquery.js”
});
chrome.tabs.insertCSS({
文件:“admin.css”
});
chrome.tabs.executeScript({
文件:“admin.js”
});
}否则{
chrome.tabs.executeScript({
代码:“admin.toggle();”
});
}
}
这一切都很好
Admin.js
还会侦听tilde
~
按钮以打开侧抽屉(它调用相同的
Admin.toggle()
函数)。但问题是我需要在第一次单击按钮之前注入JS,这样它就知道如何监听
~

我仍然可以使用
浏览操作执行此操作吗?或者我需要使用内容脚本吗


提前谢谢

当用户单击浏览器操作按钮时,将触发浏览器操作get。因此,没有办法(也没有必要)以编程方式触发它

您已经在使用内容脚本(通过
executeScript
注入的文件和代码)是内容脚本(只是

如果您希望“立即”使用该功能,则需要在用户导航到新网页时自动插入一些内容脚本

实现这一点的一种方法是通过manifest.json中的

如果您不想在每个网页中插入jQuery和
admin.js
(特别是如果您的脚本很重,例如注册了很多事件侦听器等),您可以插入一个小脚本来侦听
~
,然后才注销侦听器,插入脚本并执行
admin.toggle()