Почему мой скрипт для расширения Chrome, предназначенного для получения текущего URL-адреса, не работает? - PullRequest
0 голосов
/ 29 мая 2020

У меня есть скрипт из Stack Overflow для получения текущей вкладки Chrome, но каждый раз, когда я пытаюсь запустить его, эта ошибка появляется в Google Chrome:

Uncaught TypeError: Cannot read property 'query' of undefined
Context

https://www.youtube.com/
Stack Trace

**chrome.tabs.query({active: true, currentWindow: true}, tabs => {**
    let url = tabs[0].url;
    // use `url` here inside the callback because it's asynchronous!
});

Код в жирным шрифтом выделен код ошибки. Я пытался заменить currentWindow на lastFocusedWindow, но ничего не помогло. Все разрешения правильные, и я даже добавил дополнительные разрешения, которые мне не нужны, как показано здесь:

"permissions": [ 
    "tabs", 
    "<all_urls>",
    "activeTab" ]

Мне нужны только tabs и <all_urls> для моего скрипта, но у меня есть activeTab на всякий случай. В чем проблема и как ее исправить?

1 Ответ

0 голосов
/ 29 мая 2020

Есть два способа сделать это.

  1. звонок getCurrent(). Подробнее здесь, на какой странице следует выполнить скрипт -> https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/tabs/getCurrent

    chrome .tabs.getCurrent (обратный вызов функции)

  2. Если вам нужен текущий URL-адрес при нажатии на действие браузера, тогда.

    chrome .browserAction.onClicked.addListener (activeTab => {console.log (activeTab);});

...