首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何关闭当前扩展页签?

如何关闭当前扩展页签?
EN

Stack Overflow用户
提问于 2011-11-12 22:16:18
回答 5查看 23.3K关注 0票数 23

我正在尝试关闭扩展的选项页面。我有一个取消按钮,并使用以下代码:

代码语言:javascript
运行
复制
chrome.tabs.getCurrent(null, function(tab) {
  chrome.tabs.remove(tab.id, function() {});
});

当我尝试使用它时,它总是给出这样的错误:

代码语言:javascript
运行
复制
Uncaught TypeError: Cannot call method 'getCurrent' of undefined

代码有什么问题?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-11-14 04:34:59

它对我来说是有效的,但有一个小问题:

代码语言:javascript
运行
复制
chrome.tabs.getCurrent(function(tab) {
    chrome.tabs.remove(tab.id, function() { });
});

只需确保您真正在扩展的选项页面中运行此代码,而不仅仅是在某些chrome.tabs页面中运行,因为HTML仅适用于扩展。

票数 33
EN

Stack Overflow用户

发布于 2011-11-13 02:44:46

您很可能是从内容脚本运行代码,其中chrome.tabs是未定义的。如果是这种情况,您可以改为send a message到后台页面,并让后台页面(可以访问chrome.tabs)进行调用。

请注意,在后台页面中,您将使用chrome.tabs.getSelected,因为getCurrent将返回undefined。

票数 12
EN

Stack Overflow用户

发布于 2011-11-13 00:39:13

在选项页面中,您只需执行以下操作:

代码语言:javascript
运行
复制
window.close()

如果要使用chrome.tabs.getCurrent,是否在manifest的权限部分中定义了tabs

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8104973

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档