首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用chrome.tabs.getCurrent在Chrome扩展中获取页面对象?

如何使用chrome.tabs.getCurrent在Chrome扩展中获取页面对象?
EN

Stack Overflow用户
提问于 2011-07-16 23:13:10
回答 5查看 41.6K关注 0票数 41

该代码旨在将用户正在查看的页面的当前选项卡对象输出到控制台,但它只是输出未定义的内容。它是从浏览器操作页面中运行的。

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

我看过documentation,据我所知,它的代码似乎与它所说的相符。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-07-16 23:17:08

尝试:

代码语言:javascript
运行
复制
chrome.tabs.getSelected(null, function(tab){
    console.log(tab);
});
票数 22
EN

Stack Overflow用户

发布于 2013-01-07 08:34:30

从Google Chrome16开始,getSelected()方法就被弃用了(但官方文档中的许多文章还没有更新)。Official message is here。要获取在指定窗口中选择的选项卡,请使用带有参数{'active': true}chrome.tabs.query()。所以现在它应该看起来像这样:

代码语言:javascript
运行
复制
chrome.tabs.query({ currentWindow: true, active: true }, function (tabs) {
  console.log(tabs[0]);
});
票数 116
EN

Stack Overflow用户

发布于 2020-10-23 18:17:05

由于chrome.tabs仅在后台或弹出脚本中可用,而后台脚本在任何选项卡中都处于非活动状态,因此chrome.tabs.getCurrent()始终返回undefined

相反,我们可以从任何消息侦听器回调的第二个参数中检索active Tab对象。例如,

代码语言:javascript
运行
复制
browser.runtime.onMessage.addListener((message, sender) => {
  console.log('Active Tab ID: ', sender.tab.id);
});
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6718256

复制
相关文章

相似问题

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