使用 Javascript 获取当前选项卡 url

Use Javascript to get current tab url

我正在尝试创建一个 google 扩展程序来跟踪用户访问的当前和上一个选项卡 URL。有没有办法使用 Javascript 让 chrome 扩展名 运行 在后台检查当前选项卡并 return URL?

我现在的 HTML:

   <body>
       <div class="container">
           <h2> Current Tab </h2>
           <div id = "current_url"></div>
           <h2> Previous Tab </h2>
           <div id = "previous_url">  </div>
       </div>

   </body>

我试过:

document.getElementById("current_url").innerHTML = window.location.href;

但是当我切换到新标签时它没有更新。

您可以使用 chrome.tabs.query():

"permissions": [ ...
   "tabs"
]

这需要您请求访问扩展清单文件中的 chrome.tabs

chrome.tabs.query({ active: true, lastFocusedWindow: true }, tabs => {
    let url = tabs[0].url;
    // Do something with url
});

lastFocusedWindow 属性 用于访问用户聚焦的当前选项卡。当您想要获取扩展代码当前正在执行的 window 时,您也可以使用 currentWindow: true

API参考:https://developer.chrome.com/docs/extensions/reference/tabs/#method-query