在chrome.tabs.query中,url仍然未定义

url remains undefined in chrome.tabs.query

本文关键字:url 未定义 chrome tabs query      更新时间:2023-09-26

我正试图根据这个答案获取chrome扩展中的当前选项卡url。但是url的值始终未定义。原因可能是什么?

编辑

这是我的代码

chrome.tabs.query({'active': true, 'lastFocusedWindow': true}, function (tabs) {
    var url = tabs[0].url;
});

我已经在清单文件中定义了选项卡权限

如果您正在尝试获取当前taburl,则不需要lastFocusedWindow

我假设电流tab是指电流window中的电流tab

有关当前窗口的详细信息:https://developer.chrome.com/extensions/windows#current-窗口

使用此代码:

chrome.tabs.query({'active': true, 'currentWindow': true}, function (tabs) {
    var url = tabs[0].url;
});

我已经解决了这个问题。这是一个可变范围的问题。我已经在函数外将变量声明为全局变量,然后它就工作了。

var url;
chrome.tabs.query({'active': true, 'lastFocusedWindow': true}, function (tabs) {
    url = tabs[0].url;
});
"permissions": [
    "tabs",
    "bookmarks",
    "http://www.blogger.com/",
    "http://*.google.com/",
    "unlimitedStorage"
],

manifest.json中添加权限。