如何处理点击扩展图标?
问题描述:
我想做一些类似google邮件检查器的事情:当用户点击图标时 - 我们应该在新标签页中打开一些网址,但只有在带有该网址的标签页没有在标签页内打开的情况下。如何处理点击扩展图标?
请帮助我,如何轻松做到这一点。
谢谢!
答
- 在清单
- 定义Browser action附加一个事件监听器
chrome.browserAction.onClicked
。 - 使用
chrome.tabs.create
方法打开一个新选项卡。您可以遍历所有选项卡以检查是否存在与chrome.windows.getAll
的URL。
答
您可以使用此片段。它检查包含URL(或可选匹配模式)的选项卡是否已打开。如果是这样,该选项卡将集中并加载URL。如果不是这样,新标签打开:
function reuseTab(url, match) {
if (url) {
var match = match || url;
chrome.tabs.query({url : match}, function (foundTabs) {
if (foundTabs[0]) {
chrome.tabs.update(foundTabs[0].id, {active : true, url : url});
} else {
chrome.tabs.create({url : url});
}
});
}
}
您可以在GitHub上看到使用的例子,并说明详细的注释:
https://github.com/fczbkk/chrome-extension-snippets/blob/master/js/reuse-tab.js
我一直在努力做到这一点,但我不需要任何弹出。并改进问题:如何在没有弹出窗口的情况下执行此操作..不幸的是,我无法做到这一点。 – ValeriiVasin 2012-07-16 07:53:27
@InviS不要在清单文件中指定''default_popup“条目。 – 2012-07-16 09:08:26
但设置的JavaScript?我试图将其设置为后台脚本,但它不起作用......以及如何直接用\ @回答您?像@InviS – ValeriiVasin 2012-07-17 05:50:07