如果当前标签不是同一个网站,我正在制作一个镀铬扩展程序,打开一个网站,所以我设法得到所有这些标签:
chrome.tabs.getAllInWindow(null, allTabs);
我写了一个函数来显示它:
function allTabs(tabs) {
var tabsURLS = '';
for (var i = 0; i < tabs.length; i++) {
tabsURLS = tabs[i].url + '\n';
}
alert(tabsURLS);
}
但我需要获取当前页面网址,以便我通过此获取当前标签:
var object=chrome.tabs.getCurrent(function(){;});
但我无法访问 id
或 url
等页面属性,此警报显示"undefined" ...
alert(object);
虽然这个警报根本不起作用
alert(object.id);
最后,我读了这页chrome.tabs,当我读到这一行时,我很震惊
getCurrent chrome.tabs.getCurrent(function callback)获取此脚本调用的选项卡 . 如果从非选项卡上下文调用(例如:后台页面或弹出视图),则可能未定义 .
所以我不认为有一个解决方案从Chrome扩展获得当前打开的选项卡...
3 回答
我相信你需要使用getSelected
最终的代码是这样的,它工作得很好..:
确保在manifest.json中设置正确的权限以访问选项卡信息:
之后,您可以使用确定URL