gpt4 book ai didi

javascript - Chrome 扩展程序获取新选择的标签页的 url

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:33:51 24 4
gpt4 key购买 nike

我有一个扩展,每次使用 chrome.tabs.onUpdated 事件监听器更改网页时都会检测到。此事件监听器中的代码根据页面 URL 执行某些任务。我还想在从一个选项卡切换到另一个选项卡时执行这些任务,但这不会触发 chrome.tabs.onUpdated 事件监听器,所以我改为使用 chrome.tabs.onActivated 监听选项卡更改。

问题是使用 chrome.tabs.onActivated 没有给我刚刚切换到的选项卡的 URL,这是我需要的。有人可以帮我解决这个问题吗?

谢谢

最佳答案

这里有 2 个选择:


  1. 使用两个事件(不太好):

    另外 chrome.tabs.onUpdated 事件你已经用于你的其他功能(您在上面描述),您还可以使用 chrome.tabs.get 方法从 中获取 tabId onActivated 的事件对象,然后传递给一个函数。但是,在这种情况下,恕我直言,选项 2 更适合您:

        chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab){
    //... whatever other stuff you were doing anyway
    });

    chrome.tabs.onActivated.addListener(function(evt){
    chrome.tabs.get(evt.tabId, function(tab){
    alert(tab.url); //the URL you asked for in *THIS QUESTION*
    });
    });
  2. 只使用一次 onUpdated 事件(更好):

    在同一事件中同时完成您的其他工作和您在问题中寻找的内容:

        chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab){
    //... whatever other stuff you were doing anyway
    chrome.tabs.getSelected(null, function(tab) {
    alert(tab.url); //the URL you asked for in *THIS QUESTION*
    });
    });

.

当然,别忘了:


您的 manifest.json 文件应具有“tabs 权限”:

  {
"name": "My extension",
...
"permissions": [
"tabs"
],
...
}

关于javascript - Chrome 扩展程序获取新选择的标签页的 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23417839/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com