Javascript 加载Chrome扩展后如何运行?
我有一个Chrome扩展,当点击时,它会打开一个侧菜单。到目前为止还可以,但我正试着把它绑在钥匙上。这很好,但只有在我至少单击一次按钮之后,因为这是从后台JS页面注入JS的时候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.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()