从chrome扩展获取当前网址

Tar*_*rek 2 google-chrome-extension

如果当前标签不是同一个网站,我正在制作一个镀铬扩展程序,打开一个网站,所以我设法得到所有这些标签:

chrome.tabs.getAllInWindow(null, allTabs);
Run Code Online (Sandbox Code Playgroud)

我写了一个函数来显示它:

   function allTabs(tabs) {
        var tabsURLS = '';
        for (var i = 0; i < tabs.length; i++) {
            tabsURLS = tabs[i].url + '\n';
        }
        alert(tabsURLS);
    }
Run Code Online (Sandbox Code Playgroud)

但我需要获取当前页面网址,以便我通过此获取当前标签:

var object=chrome.tabs.getCurrent(function(){;});
Run Code Online (Sandbox Code Playgroud)

但我不能得到像id或的页面属性url,此警报显示"未定义"...

alert(object);
Run Code Online (Sandbox Code Playgroud)

虽然这个警报根本不起作用

alert(object.id);
Run Code Online (Sandbox Code Playgroud)

最后,我读了这个页面chrome.tabs,当我读到这一行时,我很震惊

getCurrent
chrome.tabs.getCurrent(function callback)
获取此脚本调用的选项卡.如果从非选项卡上下文调用(例如:后台页面或弹出视图),则可能未定义.

所以我不认为有一个解决方案从Chrome扩展获得当前打开的选项卡...

G-M*_*Man 5

我相信你需要使用getSelected

<html>
<head>
<script>

    chrome.tabs.getSelected(null, function(tab) {
        var tabId = tab.id;
        var tabUrl = tab.url;

        alert(tabUrl);
    });

</script>
</head>
Run Code Online (Sandbox Code Playgroud)