Захватить текущий URL из расширения? - PullRequest
0 голосов
/ 27 марта 2019

Для моего расширения Google Chrome мне нужно получить текущий URL. Я знаю, что в обычном JavaScript я могу просто использовать это, чтобы получить ссылку и хост:

var hostname = window.location.hostname;
var url = window.location.href;

Но как я могу сделать это внутри расширения? Я действительно заставил его работать, используя this в качестве примера, но это кажется немного излишним для того, что я хочу сделать. Есть ли лучший способ получить текущий URL, возможно, не вставляя скрипт на страницу?

1 Ответ

1 голос
/ 27 марта 2019

Вы можете использовать chrome.tabs.query(), чтобы получить текущий URL в переменную внутри вашего кода расширения:

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

Помните: часть вашего кода, которая будет использовать переменную url, должна находиться внутри (анонимной) функции обратного вызова выше, а не где-либо еще. В противном случае вы получите значение undefined, поскольку код расширения Chrome выполняется асинхронно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...