Tom*_*Tom 31 html javascript google-chrome-extension google-chrome-devtools
该代码用于将用户正在查看的页面的当前选项卡对象输出到控制台,但它只输出undefined.它在浏览器操作页面中运行.
chrome.tabs.getCurrent( function(tab){
console.log(tab);
} );
Run Code Online (Sandbox Code Playgroud)
我查看了文档 ,据我所知,代码似乎与它所说的相符.
Kon*_*nin 92
getSelected()自Google Chrome 16以来,该方法已被弃用(但官方文档中的许多文章尚未更新).官方消息在这里.要获取在指定窗口中选择的选项卡,请使用chrome.tabs.query()参数{'active': true}.所以现在看起来应该是这样的:
chrome.tabs.query({ currentWindow: true, active: true }, function (tabs) {
console.log(tabs[0]);
});
Run Code Online (Sandbox Code Playgroud)
ser*_*erg 20
尝试:
chrome.tabs.getSelected(null, function(tab){
console.log(tab);
});
Run Code Online (Sandbox Code Playgroud)
由于chrome.tabs仅在后台或弹出脚本中可用,并且后台脚本在任何选项卡中均不活动,因此chrome.tabs.getCurrent()始终返回undefined。
Tab相反,我们可以从任何消息侦听器回调的第二个参数中检索活动对象。例如,
browser.runtime.onMessage.addListener((message, sender) => {
console.log('Active Tab ID: ', sender.tab.id);
});
Run Code Online (Sandbox Code Playgroud)