开发者问题收集

使用 Javascript 获取当前标签页网址

2021-11-25
3279

我正在尝试创建一个 Google 扩展程序,用于跟踪用户访问的当前和上一个选项卡 URL。有没有办法使用 Javascript 让 Chrome 扩展程序在后台运行,检查当前选项卡并返回 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;

但当我切换到新选项卡时它没有更新。

1个回答

您可以使用 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 属性。当您想要获取扩展程序代码当前正在执行的窗口时,您还可以使用 currentWindow: true

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

Skully
2021-11-25