Javascript Chrome扩展:单击选项卡中的事件?

Javascript Chrome扩展:单击选项卡中的事件?,javascript,google-chrome-extension,Javascript,Google Chrome Extension,嘿 我整天都在搜索ChromeAPI,但找不到答案。快速:是否可以将图标添加到选项卡并附加单击侦听器?或者单击选项卡上的侦听器 谢谢 是的,使用api是可能的。或与: injectedScript.js manifest.json webPage.html 点击我 有关更多信息,请参阅 编辑: 您不能将事件添加到选项卡本身,我认为最好的方法是使用上下文菜单。这个例子是丑陋的代码,但这使工作。。。 (我对我的英语感到抱歉) manifest.json 不,选项卡本身没有可以创建的UI 点击标签不是

我整天都在搜索ChromeAPI,但找不到答案。快速:是否可以将图标添加到选项卡并附加单击侦听器?或者单击选项卡上的侦听器

谢谢

是的,使用api是可能的。或与:

injectedScript.js manifest.json webPage.html
点击我

有关更多信息,请参阅

编辑: 您不能将事件添加到选项卡本身,我认为最好的方法是使用上下文菜单。这个例子是丑陋的代码,但这使工作。。。 (我对我的英语感到抱歉)

manifest.json
不,选项卡本身没有可以创建的UI


点击标签不是你能捕捉到的东西-你能得到的唯一事件是,你不能说这是怎么发生的,你也不能阻止它-在你收到事件时它已经发生了。

“标签图标”如favicon或页面动作?”点击标签ui本身上的“标签上的侦听器”,或者选项卡的页面?在选项卡本身上。我希望在单击选项卡时执行指定的操作。例如,我在tab StackOverflow中,在youtube上有第二个选项卡。我想在不离开SO的情况下单击YT选项卡,并在YT选项卡中执行操作。是的,就像favicon一样。也可能是选项卡ui上的下拉列表。只需与单击的选项卡进行交互,而无需离开currentnice start。但我不想点击按钮,而是想点击选项卡本身来执行操作。并且此选项卡不能是上的活动。
document.getElementById('btn1').addEventListener('click',function () {
    alert('button click!');
});
"content_scripts": [
    {
      "matches": ["http://www.example.com/webPage.html"],
      "js": ["injectedScript.js"]
    }
],
 "background":{"scripts":["background.js"]},
  "permissions": ["contextMenus", "tabs","activeTab","<all_urls>"]
function apdateTabList() {
    chrome.contextMenus.removeAll(function() {
        chrome.tabs.query({url:'*://*/*'}, function (tabs) {
            var currTab;
            for (var i=0; currTab = tabs[i];i++) {
                chrome.contextMenus.create({
                    id : currTab.id.toString(),
                    title: currTab.title || currTab.url,
                    contexts:['all'],
                    onclick : function(info) {
                        chrome.tabs.executeScript(Number(info.menuItemId), {code:'alert("injected")'});
                    }
                });
            }
        });
    });
}
apdateTabList();
chrome.tabs.onCreated.addListener(apdateTabList);
chrome.tabs.onUpdated.addListener(apdateTabList);
chrome.tabs.onMoved.addListener(apdateTabList);
chrome.tabs.onDetached.addListener(apdateTabList);
chrome.tabs.onAttached.addListener(apdateTabList);
chrome.tabs.onRemoved.addListener(apdateTabList);
chrome.tabs.onReplaced.addListener(apdateTabList);