我的Chrome扩展程序有一个带有一些链接的弹出窗口,如果它是新标签页,我希望在当前标签页中打开,否则打开新标签页。所以我相信我需要知道活动标签的URL。或者是否有其他方法来识别新标签?
我想使用“activeTab”权限而不是“标签” - 我希望用户看到尽可能少列出的权限。
我发现识别标签网址的唯一方法是使用背景页面和
chrome.browserAction.onClicked.addListener(function(tab))
但这与清单中定义的弹出窗口不兼容。我可以以编程方式设置弹出页面,但我看不到弹出窗口的方法。有没有办法做到这一点?
当我在清单中定义了default_popup时,我使用
document.addEventListener('DOMContentLoaded', function ())
启动相关代码,因此不能参考活动选项卡。是否有另一种方法来运行代码,或者获取活动选项卡?
感谢。
答案 0 :(得分:2)
activeTab
权限允许您“通过返回tabs.Tab
对象的API获取该标签的网址,标题和图标”。因此,要从弹出窗口获取当前选项卡URL,您可以执行以下操作:
chrome.tabs.query( {active:true, currentWindow: true}, function(tabs) {
currentUrl = tabs[0].url;
});